- 状态
- 未解决
- 报告针对
- WPML Multilingual & Multicurrency for WooCommerce 5.3.5
- 相关插件/主题
- WooCommerce Payments
- 主题标签
- Compatibility
问题概述
目前,在使用 WPML Multilingual & Multicurrency for WooCommerce 时,无法保存 WooPayments 设置中国家/地区可用性的任何更改。
此问题与针对 WooCommerce Stripe 支付网关报告的问题类似。
临时解决方法
在此期间,您可以考虑以下解决方案之一:
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”代表西班牙)。