使用' before_checkout '挂钩,我可以使用付款前的购物车商品数据进行一些计算。付款完成后,我需要在“ woocommerce_thankyou ”的另一个钩子中将这些数据发送到订单商品元素。
有没有办法关联购物车项目及其创建的相应订单?
答案 0 :(得分:4)
有添加项目元的钩子可以添加到订单中,因此您可以关联购物车项目及其相应的订单:
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);
}
对您有用。
答案 1 :(得分: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
}