- Statut
- Ouvert
- Signalé pour
- WPML Multilingual & Multicurrency for WooCommerce 5.3.5
- Extension/thème associé
- WooCommerce Payments
- Étiquettes de sujet
- Compatibility
Aperçu de l’anomalie
Actuellement, il n’est pas possible d’enregistrer de modifications dans la Disponibilité par pays de vos paramètres WooPayments lorsque vous utilisez WPML Multilingual & Multidevise pour WooCommerce.
Ce problème est similaire à celui signalé pour la passerelle de paiement WooCommerce Stripe.
Solution de contournement
En attendant, vous pouvez envisager l’une des solutions suivantes :
1) Si vous souhaitez limiter WooPayments à un seul pays (par exemple, l’Espagne), vous pouvez utiliser le code suivant :
// 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) D’autre part, si vous souhaitez limiter WooPayments à plusieurs pays, vous pouvez utiliser cette variante :
// 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;
} );
Vous pouvez ajouter le code ci-dessus au fichier functions.php de votre thème.
N’oubliez pas d’ajuster le code du pays selon vos besoins (dans les deux exemples, nous utilisons « ES » pour l’Espagne).