使用Woocommerce 2.6.8,我無法獲取docs和here on SO中所述的訂單項數據信息。Woocommerce - 獲取訂單項目的價格和數量。
所有我想要的是讓行項目的價格和數量,這應該是簡單:
$order = new WC_Order($order_id);
$order_items = $order->get_items();
foreach ($order_items as $items_key => $items_value) {
echo $items_value['name']; //this works
echo $items_value['qty']; //this doesn't work
echo $items_value[item_meta][_qty][0]; //also doesn't work
echo $items_value['line_total']; //this doesn't work
}
在看什麼獲取返回返回
Array
(
[1] => Array
(
[name] => Sample Product 1
[type] => line_item
[item_meta] =>
[item_meta_array] => Array
(
[1] => stdClass Object
(
[key] => _qty
[value] => 1
)
[2] => stdClass Object
(
[key] => _tax_class
[value] =>
)
[3] => stdClass Object
(
[key] => _product_id
[value] => 8
)
[4] => stdClass Object
(
[key] => _variation_id
[value] => 0
)
[5] => stdClass Object
(
[key] => _line_subtotal
[value] => 50
)
[6] => stdClass Object
(
[key] => _line_total
[value] => 50
)
[7] => stdClass Object
(
[key] => _line_subtotal_tax
[value] => 0
)
[8] => stdClass Object
(
[key] => _line_tax
[value] => 0
)
[9] => stdClass Object
(
[key] => _line_tax_data
[value] => a:2:{s:5:"total";a:0:{}s:8:"subtotal";a:0:{}}
)
)
)
)
這更接近是所有使用記錄Woocommerce方法,爲什麼我需要的信息存儲在item_meta_array
?
有誰知道我如何獲得這些信息?
最好使用記錄的方法,而不是通過item_meta_array
循環,直到我發現我在尋找關鍵的粗黑客。
我覺得我必須在這裏丟失一些明顯的東西。
這工作完全從
order
對象中獲取,也證明了我的大部分原代碼也工作正常。問題是我在woocommerce完全加載之前調用了這些方法,所以正確的信息沒有被返回!你的代碼幫助我意識到別的東西不太對,現在終於解決了,謝謝! – roboboboboget_item_meta從WC 3.0開始已棄用,應該使用wc_get_order_item_meta代替 – Tofandel
@Tofandel ...正如你可以看到這個答案在WC 3之前一直是女傭。所以我做了一個更新,然後......謝謝。 – LoicTheAztec