首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WooCommerce:禁用基于国家的多种支付方法

WooCommerce:禁用基于国家的多种支付方法
EN

Stack Overflow用户
提问于 2021-05-14 03:24:43
回答 1查看 260关注 0票数 2

我在这里试图做的是隐藏支付方法,基于客户的国家。

当美国和美国不同的时候,

  • 藏着支票和支票。--

  • 当国家是美国时,隐藏鳕鱼支付方法(这是有效的)

我一直想这么做,但没成功

以下是代码:

代码语言:javascript
复制
add_filter( 'woocommerce_available_payment_gateways', 'custom_payment_gateway_disable_country' );
  
function custom_payment_gateway_disable_country( $available_gateways ) {
    if ( is_admin() ) return $available_gateways;
    if ( isset( $available_gateways['bacs' && 'cheque'] ) && WC()->customer->get_billing_country() <> 'US' ) {
        unset( $available_gateways['bacs' && 'cheque'] );
    } else {
        if ( isset( $available_gateways['cod'] ) && WC()->customer->get_billing_country() == 'US' ) {
            unset( $available_gateways['cod'] );
        }
    }
    return $available_gateways;
}

有人能把我推向正确的方向吗?任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-14 05:07:16

如果/否则语句是错误的。因为isset( $available_gateways['bacs' && 'cheque']永远不会起作用。

请参阅:PHP If Statement with Multiple Conditions

所以你得到了:

代码语言:javascript
复制
function filter_woocommerce_available_payment_gateways( $payment_gateways ) {
    // Not on admin
    if ( is_admin() ) return $payment_gateways;

    // Get country
    $customer_country = WC()->customer->get_shipping_country() ? WC()->customer->get_shipping_country() : WC()->customer->get_billing_country();
    
    // Country = US
    if ( in_array( $customer_country, array( 'US' ) ) ) {       
        // Cod
        if ( isset( $payment_gateways['cod'] ) ) {
            unset( $payment_gateways['cod'] );
        }
    } else {
        // Bacs & Cheque
        if ( isset( $payment_gateways['bacs'] ) && isset( $payment_gateways['cheque'] ) ) {
            unset( $payment_gateways['bacs'] );
            unset( $payment_gateways['cheque'] );
        }       
    }
    
    return $payment_gateways;
}
add_filter( 'woocommerce_available_payment_gateways', 'filter_woocommerce_available_payment_gateways', 10, 1 );
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67528701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档