【发布时间】:2017-01-08 17:31:51
【问题描述】:
订单完成后我需要执行操作。
我试过这个:
function mysite_woocommerce_payment_complete( $order_id ) {
error_log("callback fired");
}
add_action( 'woocommerce_payment_complete', 'mysite_woocommerce_payment_complete' );
...钩子没有触发。
我也试过woocommerce_order_status_changed,它在我下订单时执行操作,但在我标记订单完成时什么也不执行。
但是当我将订单标记为已完成时,我会收到有关完成订单的电子邮件。
谢谢!
编辑:
我也试过woocommerce_order_status_changed,这样:
function mysite_woocommerce_payment_complete($order_id, $old_status, $new_status ) {
error_log("$old_status / $new_status \n");
}
add_action( 'woocommerce_order_status_changed', 'mysite_woocommerce_payment_complete', 99, 3 );
但它会在购买时触发(我选择了银行转帐)并显示:“待定/暂停”,但 不是真的 - 请参阅 edi2 不会触发手动后端更改从“暂停” ”到“完成”。既不是复选标记,也不是单一订单界面。
编辑2
woocommerce_order_status_changed 和 woocommerce_order_status_completed 有效,它只将我的测试“错误”输出到 debug.log,而不是由于某种原因而输出到 error_log。
我之前使用的woocommerce_payment_complete 不适用于银行转账之类的方法,这就是为什么它不起作用的原因。感谢@helgatheviking 提供快速正确的答案
【问题讨论】:
标签: php wordpress woocommerce orders hook-woocommerce