2017-07-28 85 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

相關問題