【发布时间】:2017-01-12 04:41:23
【问题描述】:
使用 WooCommerce,在提交新订单后,我的 function.php 中有以下钩子:
add_action( 'woocommerce_new_order', 'create_job_openings');
function create_job_openings($order_id) {
$order = new WC_Order($order_id);
$items = $order->get_items();
foreach ($order->get_items() as $key => $item) {
$product_name = $item['name'];
var_dump($product_name);
}
}
上面的代码没有给我任何输出,即它没有进入 foreach 循环,这就是为什么 var_dump() 没有给我任何输出,但是如果我特别提到 order_id 就像 create_job_openings($order_id=517) 它可以工作,即使我在 @987654329 之前尝试了 echo $order_id @循环,它给了我order_id,那为什么它没有进入foreach循环呢?
注意:当我在 foreach 循环之前尝试 var_dump($items); 时,它给了我
array(0) {
}
为什么下单后即使里面有商品也无法获取商品详情?
【问题讨论】:
-
你检查$order_id真的来了吗??
-
在函数中调用全局 woocommerce 做一件事
-
@LoicTheAztec wc_get_order 给了我正确的输出,太棒了!但它可以像 $items = $order->get_items() 一样使用吗?
标签: php wordpress woocommerce orders hook-woocommerce