2017-07-28 51 views
-1

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

能否请您分享您的代码,您用于将产品添加到购物车? – WildProgrammers

+0

我增加了一个例子,但它大多不相关,因为能够回答问题的人已经不熟悉代码。 – Corgalore

+0

你想让我回答吗?我知道关于示例代码。但是在WC中有很多方法可以做到这一点,我需要知道你要遵循的方式。 – WildProgrammers

回答

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

希望这有助于...让我知道,如果你有什么事?

+0

好的,这似乎是合理的。我在插件中找到了一个匹配的行,它支持:$ item-> add_meta_data($ key,$ addon ['value']);现在我只需要弄清楚插件的元键格式。 – Corgalore

+0

所以这个工作呢? – WildProgrammers

+0

请标记答案是正确的,如果这工作。 – WildProgrammers

相关问题