2015-06-09 50 views
1

设定付款方式,Woocommerce我想在Woocommerce网站通过PHP手动选择付款方式。如何通过PHP

事情是这样的:

$payment_method = 'authorize_net_aim'

然后当客户点击结账,看到列表中的付款方式,这是PHP设置的付款方式是自动选择。挑战是woocommerce checkout.js在页面加载后运行ajax。所以我试过的任何页面内容都会被覆盖。

我已审阅WC_Payment_Gateway class,但不知道怎样使用它的ID选择一个特定的网关(即authorize_net_aim)。

回答

0

此问题的解决方案,即汽车使用下面的代码选择付费模式可以实现的。

add_action('woocommerce_review_order_before_submit','select_payment_mode_as_defined_here'); function select_payment_mode_as_defined_here(){ echo '<script>jQuery("#authorize_net_aim").prop("checked", true);</script>'; }

假设是 'authorize_net_aim' 是无线电选项按钮的ID。

我用这个解决方案选择贝宝的方法默认设置,以便在jQuery的()将ID设置为“#payment_method_paypal”,它为我工作。

还是让我知道它的工作对你来说太。而且这个答案是否有用。

+0

woocommerce_review_order_before_submit绝对是一个很好的信息。我会测试并报告回来。 – lilbiscuit

+0

所以这没有奏效。原因是Woocommerce在加载所有代码后运行它的Ajax更新。所以它会覆盖任何jQuery。我需要在我认为的WC会话中设置付款方式。 – lilbiscuit

+0

另一个简单的方法是从仪表板中的woocommerce设置中设置默认支付网关。让我知道这是否有帮助。在新会话中尝试此解决方案(不同的浏览器/隐身窗口),因为它将默认方法存储在购物车会话中。 – WisdmLabs