我使用此API在WooCommerce中创建订单:https://github.com/kloon/WooCommerce-REST-API-Client-Library
当我添加订单时:
$orderData = array(
"order" => array(
"line_items" => array(
array(
"product_id" => 1,
"quantity" => 1
)
)
)
);
$client->orders->create($orderData);
一切正常,订单是在WooCommerce中创建的。
但是当我想添加有关变体的元数据的产品变体时,我该怎么做?
我尝试了几件事,包括:
$orderData = array(
"order" => array(
"line_items" => array(
array(
"product_id" => 1,
"quantity" => 1,
"variation_id" => 2,
"variations" => array(
"color" => "black"
)
)
)
)
);
$client->orders->create($orderData);
我想要获得的是,在获得订单时:
$client->orders->get( $order_id );
颜色信息已添加到订单项的元数据中(因此,在发送电子邮件时,订单详细信息中会显示颜色说明):
line_items: [
{
id: ...,
subtotal: "...",
subtotal_tax: "...",
total: "...",
total_tax: "...",
price: "...",
quantity: 1,
tax_class: null,
name: "Product name",
product_id: 1,
sku: "",
meta: [
{
key: "color",
label: "Color",
value: "black"
}
]
}
]
希望问题很清楚,有人可以指出我正确的解决方案:)
感谢您耐心阅读本文。
答案 0 :(得分:0)
您在下订单时无法指定产品变体数据,产品变更应已存在,并应使用变更ID进行参考。
例如,如果您要下订单" black"变异(说它有变异ID 12):
"line_items": [
{
"product_id": 1,
"variation_id": 12,
"quantity": 1
}
]
向产品变体添加元数据可以使用orders
端点 完成,使用products
端点更新产品。