Woocommerce程序化添加订单与产品附加

时间:2017-07-28 04:47:17

标签: wordpress woocommerce

我正在使用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);
}

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 );
}

希望这有帮助......如果您还需要其他任何内容,请告诉我......