web-dev-qa-db-ja.com

order_item_idWooCommerceを取得する方法

各注文の各アイテムに適用される一意の値である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を取得する方法です。簡単な方法はありますか?

ありがとう!

9
user2903890

これはあなたのプロジェクトにはすでに手遅れかもしれませんが、他の人には役立つかもしれません:

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

$key変数はitem_idあなたは探している。

22
user3367143

$order->get_items()によって返される配列のインデックス/キーはorder_item_id...だからこれを試してみてください:

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