创建订单后Woocommerce挂钩?[关闭]


9

我正在寻找一个钩子,该钩子将在有人提交结帐表格和下订单后触发(无论他是否付款)。

我试过了 woocommerce_new_order

但这不起作用。


发布您的无效代码。
蒙特利尔,2015年

function action_woocommerce_new_order( $order_id ) { update_option('new_order', $order_id ); }; add_action( 'woocommerce_payment_complete', 'action_woocommerce_new_order', 10, 1 );
Ifty 2015年

'woocommerce_new_order'钩子就是答案。
Hamid Mohayeji

Answers:


10

尝试woocommerce_thankyou钩。无论用户如何付款,这都会在成功接收订单后触发。

$hook_to = 'woocommerce_thankyou';
$what_to_hook = 'wl8OrderPlacedTriggerSomething';
$prioriy = 111;
$num_of_arg = 1;    
add_action($hook_to, $what_to_hook, $prioriy, $num_of_arg);

function wl8OrderPlacedTriggerSomething($order_id){
      //do something...
}

有关更多参考,请深入woocommerce / templates / checkout / thankyou.php


4
注意:如果最终用户出于任何原因刷新“感谢页面”,则会再次触发此事件。
Vivek Athalye

2
是否有仅在保存时起作用的钩子?
benedict_w

1
还请注意,如果用户以某种方式跳过了感谢页面,则不会触发此挂钩
Yair Levy

2

我找到了解决方案。我的订单列表中已经存在一个旧订单。因此,当我按顺序添加新商品时,woocommerce只会更新我的旧未付款订单。所以我也使用woocommerce_resume_order动作。现在很好。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.