- Status
- Offen
- Gemeldet für
- WPML Multilingual & Multicurrency for WooCommerce 5.3.5
- Zugehöriges Plugin/Theme
- WooCommerce Payments
- Themen-Tags
- Compatibility
Übersicht über das Problem
Derzeit ist es nicht möglich, Änderungen an der Länderverfügbarkeit Ihrer WooPayments-Einstellungen zu speichern, wenn Sie WPML Multilingual & Multicurrency for WooCommerce verwenden.
Dieses Problem ähnelt einem, das für das WooCommerce Stripe-Zahlungsgateway gemeldet wurde.
Problemumgehung
In der Zwischenzeit können Sie eine der folgenden Lösungen in Betracht ziehen:
1) Wenn Sie WooPayments auf ein einzelnes Land (z. B. Spanien) beschränken möchten, können Sie den folgenden Code verwenden:
// Limit Stripe to Spain.
add_filter( 'woocommerce_available_payment_gateways', function( $gateways ) {
$country = WCML\MultiCurrency\Geolocation::getUserCountry();
if ( $country ) {
if ( 'ES' !== $country ) {
unset( $gateways['woocommerce_payments'] );
}
}
return $gateways;
} );2) Wenn Sie WooPayments hingegen auf mehrere Länder beschränken möchten, können Sie diese Variante verwenden:
// Limit WooPayments for several countries
add_filter( 'woocommerce_available_payment_gateways', function( $gateways ) {
$country = WCML\MultiCurrency\Geolocation::getUserCountry();
if ( $country ) {
// List of country codes to check against
$country_codes = array('ES', 'FR', 'DE');
if ( !in_array($country, $country_codes) ) {
unset( $gateways['woocommerce_payments'] );
}
}
return $gateways;
} );
Sie können den obigen Code zur Datei functions.php in Ihrem Theme hinzufügen.
Vergessen Sie nicht, den Ländercode an Ihre Anforderungen anzupassen (in beiden Beispielen verwenden wir ‚ES‘ für Spanien).