2017-01-21 8 views
2

'before_checkout'フックを使用して、支払い前のカートアイテムデータを使用して計算を行っています。支払いが完了した後、 'woocommerce_thankyou'のような別のフックでアイテムメタを注文するためにそれらのデータを送信する必要があります。woocommerceカートアイテムから注文アイテムにデータを渡す方法は?

には、カートの商品とそれに対応する注文との関係がありますか?は作成されていますか?

答えて

0

「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 
} 
4

あなたは、カートのアイテムとその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); 
} 

はあなたに有用である可能性があります。

+0

$値に 's'がありません。それ以外の場合はうまく動作します。多くの感謝です! – user1875631

+1

@ user1875631:更新されました。 –

関連する問題