我正在使用WooCommerce产品附加组件。我目前正在以编程方式生成订单,但现在需要在订单项中添加一些附加数据。怎么办呢?
我的基本订单设置如下:
$orderData = array(
'status' => 'on-tab',
'customer_id' => 999,
'customer_note' => '',
'created_via' => 'api'
);
$order = wc_create_order($orderData);
foreach ($lineitems as $lineitem) {
//need to get Add-On data in here somehow
$order->add_product(wc_get_product(999), 1);
}
答案 0 :(得分:1)
当您使用add_product时,您将获得item_id作为回报。请参阅https://docs.woocommerce.com/wc-apidocs/source-class-WC_Abstract_Order.html#838-889
中的代码此item_id可用于使用get_item函数获取项目。请参阅https://docs.woocommerce.com/wc-apidocs/source-class-WC_Abstract_Order.html#760-769
获取项目后,您可以使用add_meta_data函数添加项目元素。请参阅https://docs.woocommerce.com/wc-apidocs/source-class-WC_Data.html#315-332
中的代码以下所有组合示例代码: -
$orderData = array(
'status' => 'on-tab',
'customer_id' => 999,
'customer_note' => '',
'created_via' => 'api'
);
$order = wc_create_order($orderData);
foreach ($lineitems as $lineitem) {
//need to get Add-On data in here somehow
$item_id = $order->add_product(wc_get_product(999), 1);
$item = $order->get_item($item_id);
$item->add_meta_data( 'Label', 'Value', true );
}
希望这有帮助......如果您还需要其他任何内容,请告诉我......