使用Woocommerce 2.6.8,我无法像文档和这里的SO描述的那样获取订单项目数据信息。
我想要的只是获取行项目价格和数量,应该很简单:
我想要的只是获取行项目价格和数量,应该很简单:
$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
来粗略地破解,直到找到我要找的键。
我觉得我肯定漏掉了一些明显的东西。
get_total()
方法适用于WC_Order_Item_Product
,这是涉及订单“行”项目的主要类,自WooCommerce 3以来可用...请参见:https://docs.woocommerce.com/wc-apidocs/class-WC_Order_Item_Product.html#_get_total - LoicTheAztec$order->get_item_total( $item, ... )
。 - Ciantic