我使用woocomerce插件版本2.6.11和wordpress版本是4.7.2。我試圖使用訂單的產品元數據獲得所有產品(order_id = 273)。我嘗試下面。但$item['product_id']
返回空。沒有什麼是回報。產品ID返回空WC_Order- woocommerce
function custom_get_order_details($order_id){
global $woocommerce;
// for test im using $order_id = 273
$order = new WC_Order($order_id);
foreach ($order->get_items() as $item_id => $item){
print_r($item_id);
echo $product_id = wc_get_order_item_meta($item_id, '_product_id', true);
echo "<br>test_30<br>";
echo $variation_id = wc_get_order_item_meta($item_id, '_variation_id', true);
echo $quantity = wc_get_order_item_meta($item_id, '_qty', true);
}
//$curl = curl_init();
//curl post here
}
add_action('woocommerce_payment_complete', 'custom_get_order_details', 10, 1);
如果我打印$item
裏面for循環。它打印
array(4) { ["name"]=> string(4) "Test" ["type"]=> string(9) "line_item" ["item_meta"]=> NULL ["item_meta_array"]=> array(9) { [1]=> object(stdClass)#823 (2) { ["key"]=> string(4) "_qty" ["value"]=> string(1) "1" } [2]=> object(stdClass)#822 (2) { ["key"]=> string(10) "_tax_class" ["value"]=> string(0) "" } [3]=> object(stdClass)#821 (2) { ["key"]=> string(11) "_product_id" ["value"]=> string(4) "2856" } [4]=> object(stdClass)#820 (2) { ["key"]=> string(13) "_variation_id" ["value"]=> string(1) "0" } [5]=> object(stdClass)#819 (2) { ["key"]=> string(14) "_line_subtotal" ["value"]=> string(3) "100" } [6]=> object(stdClass)#818 (2) { ["key"]=> string(11) "_line_total" ["value"]=> string(3) "100" } [7]=> object(stdClass)#817 (2) { ["key"]=> string(18) "_line_subtotal_tax" ["value"]=> string(1) "0" } [8]=> object(stdClass)#816 (2) { ["key"]=> string(9) "_line_tax" ["value"]=> string(1) "0" } [9]=> object(stdClass)#815 (2) { ["key"]=> string(14) "_line_tax_data" ["value"]=> string(45) "a:2:{s:5:"total";a:0:{}s:8:"subtotal";a:0:{}}" } } }
它也返回空 - $order->get_item_meta($item_id, '_qty', true)
我不知道我錯了這一點。
更新我的問題得到訂單的訂單項目的詳細信息。沒有運氣。我將$ item_data更改爲$ item。不工作。 – vel
$ item ['name']返回產品名稱。但產品ID返回空。 – vel
我已更新我的答案。 'var_dump'中缺少'product_id'鍵,所以你可以從'item_meta'獲得它。 –