WOCOOMERCE:在支付网关(Payment)之前运行函数

时间:2020-11-05 作者:Peps

在WooCommerce中,我通过代码创建订单和用户,在“订单支付”端点上,通过表单+ajax创建用户。在创建用户之前,jQuery会禁用“继续签出”按钮。现在我想创建一个服务器端检查。因此,尝试在提交之后但重定向到支付网关之前运行函数。

我试过这些钩子,但在这种情况下它们对我都不起作用(什么都不做)。

add_action( \'woocommerce_before_checkout_process\', \'is_user_created\' , 1, 1 );
add_action( \'woocommerce_new_order\', \'is_user_created\' , 1, 1 );
add_action( \'woocommerce_checkout_process\', \'is_user_created\' , 1, 1 );
add_action( \'woocommerce_checkout_order_processed\', \'is_user_created\' , 1, 1 );
add_action( \'woocommerce_check_cart_items\', \'is_user_created\' , 1, 1 );
add_action( \'woocommerce_review_order_after_submit\', \'is_user_created\' , 1, 1 );
用于测试的功能是:

function is_user_created( $order_id ){
    die (\'No account created\');
}
有什么想法吗?

3 个回复
最合适的回答,由SO网友:Peps 整理而成

为什么很难找到每页或执行序列或订单的woocommerce挂钩列表>;付款流程?

无论如何,在数小时的搜索之后:

add_action( \'woocommerce_before_pay_action\', \'Your Function\', 1, 1 );

SO网友:Moiz

This worked for me

add_action( \'woocommerce_before_checkout_process\', \'fireBeforeCheckout\', 10, 1 );
SO网友:mahdi mortezaeei

这是你可以使用的最好的钩子,在将用户重定向到支付网关(paying)之前的最后一个签出过程之后启动此钩子

add_action( \'woocommerce_checkout_order_processed\', \'callback_function\' );

相关推荐