- Estado
- Abierto
- Notificado para
- WPML Multilingual & Multicurrency for WooCommerce 5.3.5
- Plugin/tema relacionado
- WooCommerce Payments
- Etiquetas de temática
- Compatibility
Resumen del problema
Actualmente, no es posible guardar ningún cambio en la Disponibilidad por país de su configuración de WooPayments al usar WPML Multilingual & Multicurrency for WooCommerce.
Este problema es similar a uno notificado para WooCommerce Stripe Payment Gateway.
Solución alternativa
Mientras tanto, puede considerar una de las siguientes soluciones:
1) Si desea limitar WooPayments a un solo país (por ejemplo, España), puede usar el siguiente código:
// 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) Por otro lado, si desea limitar WooPayments a varios países, puede usar esta variación:
// 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;
} );
Puede añadir el código anterior al archivo functions.php de su tema.
No olvide ajustar el código de país a sus necesidades (en ambos ejemplos usamos «ES» para España).