为什么不能以新顺序获得id顺序?
此代码无效
add_action( 'woocommerce_new_order', 'get_order_details_woo', 1, 1 );
function get_order_details_woo ($order_id)
{
$order = wc_get_order( $order_id );
foreach ($order->get_items() as $item_key => $item_values):
$item_id = $item_values->get_id();
$item_data = $item_values->get_data();
$product_name = $item_data['name'];
//echo $product_name;
endforeach;
}
但是此代码有效
add_action( 'woocommerce_new_order', 'get_order_details_woo', 1, 1 );
function get_order_details_woo ()
{
$order = wc_get_order( 100);
foreach ($order->get_items() as $item_key => $item_values):
$item_data = $item_values->get_data();
$product_name = $item_data['name'];
//echo $product_name;
endforeach;
}
如何以新顺序获取ID?
如果我没有订单ID,获取新的订单详细信息吗?
答案 0 :(得分:0)
您可以通过此钩子获得订单ID,但目前看来订单刚刚创建,尚无产品。您可以使用var_dump进行检查。
尝试另一个钩子:
add_action( 'woocommerce_checkout_create_order', 'get_order_details_woo', 1, 1 );
在订单对象获取数据之后且将其保存到数据库之前,将触发此事件。您不必在这里检索订单ID,因为您可以直接获取订单对象。
答案 1 :(得分:0)
add_action('woocommerce_checkout_update_order_meta','get_order_details_woo',10,2); 函数get_order_details_woo($ order_id,$ data){ }