- Status
- Aberto
- Relatado para
- WPML Multilingual & Multicurrency for WooCommerce 5.3.5
- Plugin/tema relacionado
- WooCommerce Payments
- Tags de tópico
- Compatibility
Visão geral do problema
Atualmente, não é possível salvar nenhuma alteração na Disponibilidade de país das suas configurações do WooPayments ao usar o WPML Multilingual & Multicurrency for WooCommerce.
Esse problema é semelhante a um relatado para o gateway de pagamento WooCommerce Stripe.
Solução alternativa
Enquanto isso, você pode considerar uma das seguintes soluções:
1) Se você quiser limitar o WooPayments a um único país (ex.: Espanha), você pode usar o seguinte 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 outro lado, se você quiser limitar o seu WooPayments a vários países, você pode usar esta variação:
// 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;
} );
Você pode adicionar o código acima ao arquivo functions.php do seu tema.
Não se esqueça de ajustar o código do país de acordo com as suas necessidades (em ambos os exemplos, usamos ‘ES’ para a Espanha).