WooCommerce REST API 文档

title: "Product attributes #" post_status: publish comment_status: open taxonomy: category: - woocommerce-rest-api post_tag: - Wp Api V2 - Includes - Source


Product attributes

The product attributes API allows you to create, view, update, and delete individual, or a batch, of product attributes.

Product attribute properties

Attribute Type Description
id integer Unique identifier for the resource. read-only
name string Attribute name. mandatory
slug string An alphanumeric identifier for the resource unique to its type.
type string Type of attribute. By default only select is supported.
order_by string Default sort order. Options: menu_order, name, name_num and id. Default is menu_order.
has_archives boolean Enable/Disable attribute archives. Default is false.

创建产品属性

此 API 可帮助您创建新的产品属性。

HTTP 请求

POST
/wp-json/wc/v2/products/attributes
curl -X POST https://example.com/wp-json/wc/v2/products/attributes \
    -u consumer_key:consumer_secret \
    -H "Content-Type: application/json" \
    -d '{
  "name": "Color",
  "slug": "pa_color",
  "type": "select",
  "order_by": "menu_order",
  "has_archives": true
}'
const data = {
  name: "Color",
  slug: "pa_color",
  type: "select",
  order_by: "menu_order",
  has_archives: true
};

WooCommerce.post("products/attributes", data)
  .then((response) => {
    console.log(response.data);
  })
  .catch((error) => {
    console.log(error.response.data);
  });
<?php
$data = [
    'name' => 'Color',
    'slug' => 'pa_color',
    'type' => 'select',
    'order_by' => 'menu_order',
    'has_archives' => true
];

print_r($woocommerce->post('products/attributes', $data));
?>
data = {
    "name": "Color",
    "slug": "pa_color",
    "type": "select",
    "order_by": "menu_order",
    "has_archives": True
}

print(wcapi.post("products/attributes", data).json())
data = {
  name: "Color",
  slug: "pa_color",
  type: "select",
  order_by: "menu_order",
  has_archives: true
}

woocommerce.post("products/attributes", data).parsed_response

JSON 响应示例:

{
  "id": 1,
  "name": "Color",
  "slug": "pa_color",
  "type": "select",
  "order_by": "menu_order",
  "has_archives": true,
  "_links": {
    "self": [
      {
        "href": "https://example.com/wp-json/wc/v2/products/attributes/6"
      }
    ],
    "collection": [
      {
        "href": "https://example.com/wp-json/wc/v2/products/attributes"
      }
    ]
  }
}

获取产品属性

此 API 允许您通过 ID 检索和查看特定的产品属性。

GET
/wp-json/wc/v2/products/attributes/<id>
curl https://example.com/wp-json/wc/v2/products/attributes/1 \
    -u consumer_key:consumer_secret
WooCommerce.get("products/attributes/1")
  .then((response) => {
    console.log(response.data);
  })
  .catch((error) => {
    console.log(error.response.data);
  });
<?php print_r($woocommerce->get('products/attributes/1')); ?>
print(wcapi.get("products/attributes/1").json())
woocommerce.get("products/attributes/1").parsed_response

JSON 响应示例:

{
  "id": 1,
  "name": "Color",
  "slug": "pa_color",
  "type": "select",
  "order_by": "menu_order",
  "has_archives": true,
  "_links": {
    "self": [
      {
        "href": "https://example.com/wp-json/wc/v2/products/attributes/6"
      }
    ],
    "collection": [
      {
        "href": "https://example.com/wp-json/wc/v2/products/attributes"
      }
    ]
  }
}

列出所有产品属性

此 API 可帮助您查看所有产品属性。

HTTP 请求

GET
/wp-json/wc/v2/products/attributes
curl https://example.com/wp-json/wc/v2/products/attributes \
    -u consumer_key:consumer_secret
WooCommerce.get("products/attributes")
  .then((response) => {
    console.log(response.data);
  })
  .catch((error) => {
    console.log(error.response.data);
  });
<?php print_r($woocommerce->get('products/attributes')); ?>
print(wcapi.get("products/attributes").json())
woocommerce.get("products/attributes").parsed_response

JSON 响应示例:

[
  {
    "id": 1,
    "name": "Color",
    "slug": "pa_color",
    "type": "select",
    "order_by": "menu_order",
    "has_archives": true,
    "_links": {
      "self": [
        {
          "href": "https://example.com/wp-json/wc/v2/products/attributes/6"
        }
      ],
      "collection": [
        {
          "href": "https://example.com/wp-json/wc/v2/products/attributes"
        }
      ]
    }
  },
  {
    "id": 2,
    "name": "Size",
    "slug": "pa_size",
    "type": "select",
    "order_by": "menu_order",
    "has_archives": false,
    "_links": {
      "self": [
        {
          "href": "https://example.com/wp-json/wc/v2/products/attributes/2"
        }
      ],
      "collection": [
        {
          "href": "https://example.com/wp-json/wc/v2/products/attributes"
        }
      ]
    }
  }
]

Available parameters

Parameter Type Description
context string Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view.

更新产品属性

此 API 允许您修改产品属性。

HTTP 请求

PUT
/wp-json/wc/v2/products/attributes/<id>
curl -X PUT https://example.com/wp-json/wc/v2/products/attributes/1 \
    -u consumer_key:consumer_secret \
    -H "Content-Type: application/json" \
    -d '{
  "order_by": "name"
}'
const data = {
  order_by: "name"
};

WooCommerce.put("products/attributes/1", data)
  .then((response) => {
    console.log(response.data);
  })
  .catch((error) => {
    console.log(error.response.data);
  });
<?php
$data = [
    'order_by' => 'name'
];

print_r($woocommerce->put('products/attributes/1', $data));
?>
data = {
    "order_by": "name"
}

print(wcapi.put("products/attributes/1", data).json())
data = {
  order_by: "name"
}

woocommerce.put("products/attributes/1", data).parsed_response

JSON 响应示例:

{
  "id": 1,
  "name": "Color",
  "slug": "pa_color",
  "type": "select",
  "order_by": "name",
  "has_archives": true,
  "_links": {
    "self": [
      {
        "href": "https://example.com/wp-json/wc/v2/products/attributes/6"
      }
    ],
    "collection": [
      {
        "href": "https://example.com/wp-json/wc/v2/products/attributes"
      }
    ]
  }
}

删除产品属性

此 API 可帮助您删除产品属性。

HTTP 请求

DELETE
/wp-json/wc/v2/products/attributes/<id>
curl -X DELETE https://example.com/wp-json/wc/v2/products/attributes/1?force=true \
    -u consumer_key:consumer_secret
WooCommerce.delete("products/attributes/1", {
  force: true
})
  .then((response) => {
    console.log(response.data);
  })
  .catch((error) => {
    console.log(error.response.data);
  });
<?php print_r($woocommerce->delete('products/attributes/1', ['force' => true])); ?>
print(wcapi.delete("products/attributes/1", params={"force": True}).json())
woocommerce.delete("products/attributes/1", force: true).parsed_response

JSON 响应示例:

{
  "id": 1,
  "name": "Color",
  "slug": "pa_color",
  "type": "select",
  "order_by": "menu_order",
  "has_archives": true,
  "_links": {
    "self": [
      {
        "href": "https://example.com/wp-json/wc/v2/products/attributes/6"
      }
    ],
    "collection": [
      {
        "href": "https://example.com/wp-json/wc/v2/products/attributes"
      }
    ]
  }
}

Available parameters

Parameter Type Description
force string Required to be true, as resource does not support trashing.

批量更新产品属性

此 API 可帮助您批量创建、更新和删除多个产品属性。

HTTP 请求

POST
/wp-json/wc/v2/products/attributes/batch
curl -X POST https://example.com//wp-json/wc/v2/products/attributes/batch \
    -u consumer_key:consumer_secret \
    -H "Content-Type: application/json" \
    -d '{
  "create": [
    {
      "name": "Brand"
    },
    {
      "name": "Publisher"
    }
  ],
  "update": [
    {
      "id": 2,
      "order_by": "name"
    }
  ],
  "delete": [
    1
  ]
}'
const data = {
  create: [
    {
      name: "Brand"
    },
    {
      name: "Publisher"
    }
  ],
  update: [
    {
      id: 2,
      order_by: "name"
    }
  ],
  delete: [
    1
  ]
};

WooCommerce.post("products/attributes/batch", data)
  .then((response) => {
    console.log(response.data);
  })
  .catch((error) => {
    console.log(error.response.data);
  });
<?php
$data = [
    'create' => [
        [
            'name' => 'Brand'
        ],
        [
            'name' => 'Publisher'
        ]
    ],
    'update' => [
        [
            'id' => 2,
            'order_by' => 'name'
        ]
    ],
    'delete' => [
        1
    ]
];

print_r($woocommerce->post('products/attributes/batch', $data));
?>
data = {
    "create": [
        {
            "name": "Brand"
        },
        {
            "name": "Publisher"
        }
    ],
    "update": [
        {
            "id": 2,
            "order_by": "name"
        }
    ],
    "delete": [
        1
    ]
}

print(wcapi.post("products/attributes/batch", data).json())
data = {
  create: [
    {
      name: "Round toe"
    },
    {
      name: "Flat"
    }
  ],
  update: [
    {
      id: 2,
      order_by: "name"
    }
  ],
  delete: [
    1
  ]
}

woocommerce.post("products/attributes/batch", data).parsed_response

JSON 响应示例:

{
  "create": [
    {
      "id": 7,
      "name": "Brand",
      "slug": "pa_brand",
      "type": "select",
      "order_by": "menu_order",
      "has_archives": false,
      "_links": {
        "self": [
          {
            "href": "https://example.com/wp-json/wc/v2/products/attributes/7"
          }
        ],
        "collection": [
          {
            "href": "https://example.com/wp-json/wc/v2/products/attributes"
          }
        ]
      }
    },
    {
      "id": 8,
      "name": "Publisher",
      "slug": "pa_publisher",
      "type": "select",
      "order_by": "menu_order",
      "has_archives": false,
      "_links": {
        "self": [
          {
            "href": "https://example.com/wp-json/wc/v2/products/attributes/8"
          }
        ],
        "collection": [
          {
            "href": "https://example.com/wp-json/wc/v2/products/attributes"
          }
        ]
      }
    }
  ],
  "update": [
    {
      "id": 2,
      "name": "Size",
      "slug": "pa_size",
      "type": "select",
      "order_by": "menu_order",
      "has_archives": false,
      "_links": {
        "self": [
          {
            "href": "https://example.com/wp-json/wc/v2/products/attributes/2"
          }
        ],
        "collection": [
          {
            "href": "https://example.com/wp-json/wc/v2/products/attributes"
          }
        ]
      }
    }
  ],
  "delete": [
    {
      "id": 1,
      "name": "Color",
      "slug": "pa_color",
      "type": "select",
      "order_by": "menu_order",
      "has_archives": true,
      "_links": {
        "self": [
          {
            "href": "https://example.com/wp-json/wc/v2/products/attributes/6"
          }
        ],
        "collection": [
          {
            "href": "https://example.com/wp-json/wc/v2/products/attributes"
          }
        ]
      }
    }
  ]
}