各注文の各アイテムに適用される一意の値である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を取得する方法です。簡単な方法はありますか?
ありがとう!
これはあなたのプロジェクトにはすでに手遅れかもしれませんが、他の人には役立つかもしれません:
foreach ($items as $key => $product )
$key
変数はitem_id
あなたは探している。
$order->get_items()
によって返される配列のインデックス/キーはorder_item_id
...だからこれを試してみてください:
foreach ($order_items as $order_item_id => $order_item) {
}