Woocommerce 在结帐时获取订单商品

And*_*Mac 5 wordpress woocommerce

当购物车被签出时,我试图连接到第 3 方应用程序。本质上,我需要传递有关订单的信息,例如订单内的产品。

我发现的一切都指向我的钩子: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;
}
Run Code Online (Sandbox Code Playgroud)

例如,上面的代码示例将打印订单数组,但是当它调用 $order->get_items() 时没有返回任何内容。

sea*_*078 5

woocommerce_new_order触发时,订单项尚未填充。

相反,使用钩子woocommerce_checkout_order_processed,你会发现所有的项目都被填充了。