5

この woocommerce セットアップでは、Paypal代金引換の 2 つの支払い方法があります。

特定の郵便番号に対してのみ、代金引換を非表示/無効にする方法を教えてください。

これはGistで見つけたコードです

//  Disable gateway based on country
function payment_gateway_disable_country( $available_gateways ) {
    global $woocommerce;
    if ( isset( $available_gateways['ccavenue'] ) && $woocommerce->customer->get_country() <> 'IN' ) {
        unset(  $available_gateways['ccavenue'] );
    } else if ( isset( $available_gateways['paypal'] ) && $woocommerce->customer->get_country() == 'IN' ) {
        unset( $available_gateways['paypal'] );
    }
    return $available_gateways;
}
add_filter( 'woocommerce_available_payment_gateways', 'payment_gateway_disable_country' );

要旨リンク

4

3 に答える 3

7

「代金引換」を無効/非表示にするには、このコードをテーマの function.php に配置します。

詳細: woocommerce-hide-payment-gatway-based-on-visitors-country

//  Disable gateway based on country
function payment_gateway_disable_country( $available_gateways ) {
global $woocommerce;
if ( isset( $available_gateways['cod'] ) && $woocommerce->customer->get_country() <> 'IN' ) {
    unset(  $available_gateways['cod'] );
}
return $available_gateways;
}
add_filter( 'woocommerce_available_payment_gateways', 'payment_gateway_disable_country' );
于 2013-06-12T13:14:41.347 に答える
0

「チェックアウト ページ」では、ユーザーは請求先と配送先の 2 つの住所を持つことができます。

Shipping one が満たされている場合にのみ、Shipping one の変更でのみ正しく動作するように、コードを少し変更しました。ユーザーの国コードだけでなく、設定されている場合は配送国コードをテストする必要があります。

function payment_gateway_disable_country( $available_gateways ) {
    global $woocommerce;
    $country = !empty($woocommerce->customer->get_shipping_country()) ? $woocommerce->customer->get_shipping_country() : $woocommerce->customer->get_country();
    if ( isset( $available_gateways['cod'] ) && $country <> 'CZ' ) {
        unset(  $available_gateways['cod'] );
    }
    return $available_gateways;
}
add_filter( 'woocommerce_available_payment_gateways', 'payment_gateway_disable_country' );
于 2014-12-01T20:53:28.670 に答える