Sử dụng Woocommerce 2.6.8, tôi không thể nhận được thông tin Dữ liệu của Đơn đặt hàng như được mô tả trong docs và here on SO.Woocommerce - Nhận đơn đặt hàng giá và số lượng.
Tất cả tôi muốn là để có được giá mục dòng và Số lượng, mà phải là đơn giản như:
$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
}
Nhìn kỹ hơn những gì được trả về có trở
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:{}}
)
)
)
)
Đây là tất cả bằng cách sử dụng tài liệu Phương pháp Woocommerce, tại sao thông tin tôi cần được lưu trữ trong số item_meta_array
này?
Có ai biết cách tôi có thể nhận thông tin đó không?
Tốt hơn là sử dụng các phương pháp đã được làm tài liệu trái ngược với việc hack thô vòng lặp qua item_meta_array
cho đến khi tôi tìm thấy khóa mà tôi đang tìm kiếm.
Tôi cảm thấy mình phải thiếu điều gì đó hiển nhiên ở đây.
này hoạt động hoàn hảo, cũng hóa ra hầu hết các mã ban đầu của tôi làm việc một cách chính xác quá. Vấn đề là tôi đã gọi những phương pháp này trước khi woocommerce được nạp đầy đủ để thông tin đúng không được trả lại! Mã của bạn đã giúp tôi nhận ra rằng cái gì đó khác không hoàn toàn đúng, cuối cùng nó đã được giải quyết ngay bây giờ, cảm ơn bạn! – robobobobo
get_item_meta không được dùng như WC 3.0, wc_get_order_item_meta nên được sử dụng thay vì – Tofandel
@Tofandel… Như bạn có thể thấy câu trả lời này là maid trước WC 3. Vì vậy, tôi thực hiện một bản cập nhật sau đó ... cảm ơn. – LoicTheAztec