- 状态
- 已解决
- 报告针对
- WPML Multilingual & Multicurrency for WooCommerce 4.12.6
- 解决于
- WooCommerce Multilingual & Multicurrency 5.4.0
- 相关插件/主题
- WooCommerce Stripe Payment Gateway
问题概述
目前,在使用 WPML Multilingual & Multicurrency for WooCommerce 和 WooCommerce Stripe Payment Gateway 时,无法在您的 Stripe 设置中保存对Country availability的任何更改。
我们的开发人员已了解此情况。我们已联系 Stripe 团队,目前仍在等待他们的回复。
临时解决方法
在此期间,您可以考虑以下解决方案之一:
1) 如果您想将 Stripe 限制在单一国家/地区(例如西班牙),可以使用以下代码:
// Limit Stripe to Spain.
add_filter( 'woocommerce_available_payment_gateways', function( $gateways ) {
$country = WCML\\MultiCurrency\\Geolocation::getUserCountry();
if ( $country ) {
if ( 'ES' !== $country ) {
unset( $gateways['stripe'] );
}
}
return $gateways;
} );2) 另一方面,如果您想排除某个特定国家/地区,可以使用此变体:
// Limit Stripe to all countries except Spain.
add_filter( 'woocommerce_available_payment_gateways', function( $gateways ) {
$country = WCML\\MultiCurrency\\Geolocation::getUserCountry();
if ( $country ) {
if ( 'ES' === $country ) {
unset( $gateways['stripe'] );
}
}
return $gateways;
} );您可以将上述代码添加到主题的 functions.php 文件中。
请不要忘记根据您的需要调整国家/地区代码(在两个示例中,我们均使用 ‘ES’ 代表西班牙)。