【问题标题】:How to set payment method in Woocommerce via PHP如何通过 PHP 在 Woocommerce 中设置付款方式
【发布时间】:2015-08-24 14:33:15
【问题描述】:

我想在 Woocommerce 网站中通过 PHP 手动选择付款方式。

类似这样的:

$payment_method = 'authorize_net_aim'

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

我查看了WC_Payment_Gateway class,但不知道如何使用它的 id(即 authorize_net_aim)选择特定网关。

【问题讨论】:

    标签: jquery ajax wordpress woocommerce


    【解决方案1】:

    这个问题的解决方案,即自动选择支付方式可以使用以下代码实现。

    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。

    我使用此解决方案选择 PayPal 方法作为默认方法,因此在 jQuery() 中将 id 设置为“#payment_method_paypal”,它对我有用。

    让我知道它是否也对您有用。以及这个答案是否有用。

    【讨论】:

    • woocommerce_review_order_before_submit 绝对是很好的信息。我会测试并报告。
    • 所以这不起作用。原因是 Woocommerce 在加载所有代码后运行它的 Ajax 更新。所以它会覆盖任何jquery。我认为我需要在 WC 会话中设置付款方式。
    • 另一种简单的方法是从仪表板中的 woocommerce 设置中设置默认支付网关。让我知道这是否有帮助。在新会话(不同的浏览器/隐身窗口)中尝试此解决方案,因为它将默认方法存储在购物车会话中。
    • 付款方式未预先确定。访问者在 woocommerce 初始化之前选择付款方式。
    猜你喜欢
    • 2014-11-18
    • 1970-01-01
    • 2018-01-10
    • 2021-03-07
    • 2013-02-15
    • 2017-09-18
    • 2016-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多