WooCommerce:结帐订单处理钩火问题
Posted
技术标签:
【中文标题】WooCommerce:结帐订单处理钩火问题【英文标题】:WooCommerce: Checkout order processed hook fire issue 【发布时间】:2019-11-12 13:44:08 【问题描述】:我的 WooCommerce 功能之一有问题。这是函数:
add_action( 'woocommerce_checkout_order_processed', 'create_order_pending_notification' );
function create_order_pending_notification( $order_id )
create_notification();
因此,当用户按下结帐按钮时,会触发挂钩并触发订单创建通知。如果他现在取消付款,PayPal 会将用户重定向回结账处。如果他现在再次按下结帐按钮,则会创建两次相同的通知。
那么您有什么想法可以防止在首次点击立即付款按钮期间创建通知吗?
【问题讨论】:
【参考方案1】:add_action( 'woocommerce_new_order', 'create_order_pending_notification' );
function create_order_pending_notification( $order_id )
create_notification();
【讨论】:
【参考方案2】:我正在介绍“付款柜台”:
add_action( 'woocommerce_checkout_order_processed', 'create_order_pending_notification' );
function create_order_pending_notification( $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 );
create_notification();
else
update_post_meta( $order_id, 'payment_counter', ++ $payment_counter );
【讨论】:
以上是关于WooCommerce:结帐订单处理钩火问题的主要内容,如果未能解决你的问题,请参考以下文章
如何在 woo commerce 的结帐表单字段中删除额外的 div html 类