【问题标题】:Change the default selected payment gateway in Woocommerce更改 Woocommerce 中默认选择的支付网关
【发布时间】:2018-10-19 02:02:25
【问题描述】:

我在 Woocommerce 结帐页面中有两个不同的支付网关(条带和银行转帐)。但默认情况下始终自动选择“银行转账”(bac)。

这是我结帐页面上支付网关的屏幕截图:

我想更改它并自动选择条带支付网关。

我该怎么做?任何帮助表示赞赏。

【问题讨论】:

    标签: php wordpress woocommerce stripe-payments payment-gateway


    【解决方案1】:

    更新

    您可以尝试添加以下代码,以更改结帐页面上的默认支付网关。您必须在此代码中定义默认的所需支付网关 ID:

    add_action( 'template_redirect', 'define_default_payment_gateway' );
    function define_default_payment_gateway(){
        if( is_checkout() && ! is_wc_endpoint_url() ) {
            // HERE define the default payment gateway ID
            $default_payment_id = 'stripe';
    
            WC()->session->set( 'chosen_payment_method', $default_payment_id );
        }
    }
    

    代码进入您的活动子主题(或活动主题)的 function.php 文件中。经过测试并且可以工作。

    您现在将始终默认使用 Stripe:


    要获得 Stripe 所需的支付网关 ID,请进入 Woocommerce > 设置 > 结帐并在 “网关 ID”列 中找到它,如以下屏幕截图所示:

    【讨论】:

    • 我已按照您的指示完成此操作。但是,当我刷新结帐页面时,它仍然默认选择银行转账网关。我想默认选择信用卡。
    【解决方案2】:

    您可以根据需要重新排列支付网关(在您的情况下是信用卡(条带),然后是直接银行转账),以便在每个新会话中始终选择前一个。

    WooCommerce 会自动将当前选择的付款方式(例如直接银行转帐)保存到当前会话中,当您重新加载页面时,将选择该付款方式而不是默认方式。您可以在私有窗口浏览器中进行测试。

    更新: 这个答案只是对 WooCommerce 如何处理默认网关的解释。如果通过任何更改它都不起作用。您的主题或插件中可能有一些代码(如 LoicTheAztec 的代码)覆盖了此功能。如果你想强制它默认到一个特定的网关,你可以按照 LoicTheAztec 的回答。

    【讨论】:

    • 很棒的评论!最好的解决方案是最简单的
    • 非常感谢! :) 乐于助人。
    • 很好找,cookie 会话有时会很麻烦。您认为您的代码更改不起作用,这完全是因为它们有条件地依赖于设置的 cookie 选项。有时可能会令人沮丧,大声笑。再次感谢。
    • 可能更高,但单选按钮是否也默认选中?
    • 不工作!刚检查。 LoicTheAztec 的上述解决方案运行良好。
    【解决方案3】:

    是的,单选按钮将默认为最高的活动网关。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-22
      • 2016-12-09
      • 2016-10-07
      • 2021-01-07
      • 2013-09-10
      • 2019-06-15
      • 1970-01-01
      • 2021-01-27
      相关资源
      最近更新 更多