'before_checkout'フックを使用して、支払い前のカートアイテムデータを使用して計算を行っています。支払いが完了した後、 'woocommerce_thankyou'のような別のフックでアイテムメタを注文するためにそれらのデータを送信する必要があります。woocommerceカートアイテムから注文アイテムにデータを渡す方法は?
には、カートの商品とそれに対応する注文との関係がありますか?は作成されていますか?
'before_checkout'フックを使用して、支払い前のカートアイテムデータを使用して計算を行っています。支払いが完了した後、 'woocommerce_thankyou'のような別のフックでアイテムメタを注文するためにそれらのデータを送信する必要があります。woocommerceカートアイテムから注文アイテムにデータを渡す方法は?
には、カートの商品とそれに対応する注文との関係がありますか?は作成されていますか?
「woocommerce_thankyou」の順番でカートアイテムを取得するためのコードです。
global $woocommerce;
$order = new WC_Order($order_id);
$items = $order->get_items();
foreach ($items as $pid) {
$product_ids = $pid['product_id']; // and so on
}
あなたは、カートのアイテムとそのcorrosponding順序を関連付けることができるように順番に追加されるために、追加のアイテムメタのためのフックがあります:
add_action('woocommerce_add_order_item_meta', 'add_order_item_meta_after_order', 10, 3);
function add_order_item_meta_after_order($item_id, $values, $cart_item_key) {
wc_add_order_item_meta($item_id, '_your_key_in_order', $values, true);
}
はあなたに有用である可能性があります。
$値に 's'がありません。それ以外の場合はうまく動作します。多くの感謝です! – user1875631
@ user1875631:更新されました。 –