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」を使用しています)。

すべての既知の問題 →