我正在尝试在订单完成时触发功能。我正在使用此代码:
add_action('woocommerce_order_status_completed', array($this,
'payment_complete'
), 1);
然后这个功能:
public function payment_complete($order_id) {
$this->generate_order_file($order_id);
}
此功能用于生成订单文件,但根本不会被调用。我之前尝试过将其添加到错误日志中,
我正在使用WooCommerce订单状态控制插件,订单会自动更改为付款后完成。但由于某种原因,woocommerce_order_status_completed操作没有触发。
答案 0 :(得分:2)
<强>功能强>
function payment_complete( $order_id, $old_status, $new_status ){
if( $new_status == "completed" ) {
$this->generate_order_file($order_id);
}
}
<强> HOOK 强>
add_action( 'woocommerce_order_status_changed', array( $this, 'payment_complete'), 99, 3 );
注意强>
确保执行挂钩。是的,这将有效。
祝你好运。答案 1 :(得分:1)
最好的方法是使用此操作:
add_action( 'woocommerce_order_status_completed', 'your_function', 10, 1);
function your_function($order_id) {
}