WPML
ステータス
未解決
報告対象
WPML Multilingual & Multicurrency for WooCommerce 5.3.5
関連するプラグイン/テーマ
WooCommerce Payments
トピックタグ
Compatibility

問題の概要

現在、WPML Multilingual & Multicurrency for WooCommerceを使用している場合、WooPayments設定の「Country availability」の変更を保存できません。

この問題は、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」を使用しています)。

すべての既知の問題 →