我想在购物车结帐时挂钩第三方应用程序。基本上我需要传递有关订单的信息,例如订单中的产品。
我发现的一切都指向了我的方向:woocommerce_new_order
当我使用该钩子时,我可以获得有关订单的一些信息,但不能获得所有信息。
add_action('woocommerce_new_order','order_check',10,1);
function order_check($order_id){
echo 'Order id is: '.$order_id;
$order = new WC_Order($order_id);
print_r($order);
echo '-----';
/** CHECK IF order has items */
$order_item = $order->get_items();
print_r($order_item);
exit;
}
例如,上面的代码示例将打印订单数组,但是当它调用$ order-> get_items()时,不会返回任何内容。
答案 0 :(得分:1)
当woocommerce_new_order
点火时,订单商品尚未填充。
相反,请使用挂钩woocommerce_checkout_order_processed
,然后您会发现所有项目都已填充。