2013-10-21 38 views
8

Tôi cần có thể nhận order_item_id, giá trị duy nhất được áp dụng cho từng mục trong mỗi đơn đặt hàng. Đây là những gì tôi có cho đến thời điểm này:Cách nhận order_item_id WooCommerce

 global $wpdb; 
    $order = new WC_Order($order_id); 
    $items = $order->get_items(); 
     foreach ($items as $item) { 
      $product_id = $item['product_id']; 
      $item_id = $item['item_id']; 

Dòng cuối cùng trong mã trên được order_item_id. Nó thường sẽ không làm việc nhưng nó hoạt động bởi vì tôi đã chỉnh sửa get_items trong lớp-wc-trật tự và bao gồm:

 $items[ $item->order_item_id ]['item_id'] = $item->order_item_id; 

Những gì tôi muốn biết là làm thế nào tôi có thể nhận được order_item_id mà không cần phải chỉnh sửa đẳng cấp wc- gọi món. Có cách nào dễ dàng không?

Cảm ơn!

Trả lời

21

Điều này có thể đã quá muộn cho dự án của bạn, nhưng có thể hữu ích cho những người khác:

foreach ($items as $key => $product) 

Biến $keyitem_id bạn đang tìm kiếm.

0

Chỉ số/chìa khóa của mảng trả về bởi $order->get_items()order_item_id ... vì vậy hãy thử này:

foreach ($order_items as $order_item_id => $order_item) { 
} 
+0

này được nói chính xác giống như [câu trả lời user3367143 của] (http://stackoverflow.com/ a/22200864/327074) đã có ở đây. Câu trả lời khác là sử dụng biến '$ items' từ câu hỏi được tạo bằng cách sử dụng' $ order-> get_items() '. – icc97

Các vấn đề liên quan