- Статус
- Открыто
- Заявлено для
- WPML Multilingual & Multicurrency for WooCommerce 5.3.5
- Связанный плагин/тема
- WooCommerce Payments
- Теги темы
- Compatibility
Обзор проблемы
В настоящее время невозможно сохранить изменения параметра Доступность в странах в Ваших настройках WooPayments при использовании WPML Multilingual & Multicurrency for WooCommerce.
Эта проблема аналогична той, о которой сообщалось для WooCommerce Stripe Payment Gateway.
Обходное решение
Тем временем Вы можете воспользоваться одним из следующих решений:
1) Если Вы хотите ограничить работу WooPayments одной страной (например, Испанией), Вы можете использовать следующий код:
// 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) С другой стороны, если Вы хотите ограничить работу WooPayments несколькими странами, Вы можете использовать этот вариант:
// 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;
} );
Вы можете добавить приведенный выше код в файл functions.php Вашей темы оформления.
Не забудьте изменить код страны в соответствии с Вашими задачами (в обоих примерах мы используем «ES» для Испании).