1 回答
TA贡献1784条经验 获得超7个赞
更新
我发现有一个小问题。如果用户取消付款,例如在 PayPal,他可能会再次重定向到结帐。现在让我们期待他再次重复结帐。在这种情况下,钩子 get 被第二次调用,这可能会出现问题。所以我自己实现了一个payment_counter:
add_action('woocommerce_checkout_order_processed', 'order_status_changed_clbk'); 函数 order_status_changed_clbk( $order_id ) { $payment_counter = (int) get_post_meta( $order_id, 'payment_counter', true );
if ( empty( $payment_counter ) ) {
update_post_meta( $order_id, 'payment_counter', 1 );
error_log( 'Function works!' ); //Get's called only once
} else {
update_post_meta( $order_id, 'payment_counter', ++ $payment_counter ); //Cool thing for statistics maybe, but not really needed
}
}
也许这个钩子适合你:
function order_status_changed_clbk( $order_id ){
error_log( 'Function works!' );
}
add_action( 'woocommerce_checkout_order_processed', 'order_status_changed_clbk' );
我在我的插件中使用它。如果订单已处理,它也处于“待处理”状态,所以这可能是您正在寻找的解决方案。
尝试一下并检查您的 debug.log 中的Function works!.
- 1 回答
- 0 关注
- 154 浏览
添加回答
举报