FOX - Currency Switcher for WooCommerce

So blenden Sie ein Zahlungs-Gateway nach Währung an der Kasse aus

Nicht jedes Zahlungs-Gateway kann in jeder Währung abrechnen. Das Ausblenden derer, die es nicht können, bewahrt einen Multi-Währungs-Checkout davor, in einer fehlgeschlagenen Zahlung zu enden.

Manchmal ist es notwendig, Zahlungs-Gateways auf der Checkout-Seite im Mehrfachmodus abhängig von der aktuellen Währung auszublenden. Ab Version 2.2.7/1.1.7 verwenden Sie die Optionen im Tab "Payments Rules" der Plugin-Einstellungsseite:
Ab Version 2.1.4/1.1.4 wurde eine zusätzliche CSS-Klasse im <body>-Tag implementiert. Beispiel: currency-usd, wobei usd die aktuelle Währung ist. Daher ist es ab jetzt sehr einfach, beliebige Gateways im Checkout nach Ihrer Logik auszublenden, indem Sie einfach CSS verwenden.
Methode mit Code -> Fügen Sie in der functions.php-Datei Ihres aktuellen WordPress-Themes das folgende PHP-Skript hinzu:
add_filter('woocommerce_available_payment_gateways', 'woocs_filter_gateways', 1);

function woocs_filter_gateways($gateway_list)
{
    global $WOOCS;
    $exclude = array(
        'paypal' => array('EUR', 'GBP'), //do not show paypal gate if current currency is EUR or GBP
        'stripe' => array('USD')//do not show stripe gate if current currency is USD
    );
    //***
    foreach ($exclude as $gateway_key => $currencies)
    {
        if (isset($gateway_list[$gateway_key]) AND in_array($WOOCS->current_currency, $currencies))
        {
            unset($gateway_list[$gateway_key]);
        }
    }

    return $gateway_list;
}

Weitere Beispiele:

  • add_filter('woocommerce_available_payment_gateways', 'woocs_filter_gateways', 1);
     
    function woocs_filter_gateways($gateway_list)
    {
        if (WC()->cart->subtotal > 1000)
        {
            unset($gateway_list['cod']);
        }
     
        return $gateway_list;
    }
  • _