12

我需要能够获取 order_item_id,即应用于每个订单中每个项目的唯一值。这是我到目前为止所拥有的:

        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'];

上述代码的最后一行获取 order_item_id。它通常不起作用,但它起作用了,因为我在 class-wc-order 中编辑了 get_items 并包括:

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

我想知道的是如何在无需编辑 class-wc-order 的情况下获取 order_item_id。有什么简单的方法吗?

谢谢!

4

2 回答 2

25

这对您的项目来说可能已经太晚了,但可能对其他人有用:

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

$key变量是item_id您要查找的变量。

于 2014-03-05T14:39:56.080 回答
1

返回的数组的索引/键$order->get_items()order_item_id... 所以试试这个:

foreach ($order_items as $order_item_id => $order_item) { 
}
于 2015-10-02T14:32:56.917 回答