WPML
状态
已解决
报告针对
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’ 代表西班牙)。

所有已知问题 →