- ステータス
- 解決済み
- 解決されたバージョン
- 4.12.0
問題の概要
別のプラグインも通貨を管理しているまれなケースにおいて、WPML Multilingual & Multicurrency for WooCommerceのマルチ通貨が実際には無効になっているにもかかわらず、WPML Multilingual & Multicurrency for WooCommerceの「supported currencies」フィルターがトリガーされることがあります。
これまでのところ、この問題はWPML / WPML Multilingual & Multicurrency for WooCommerceと公式に互換性のない特定のプラグインを使用しているウェブサイトでのみ報告されています。ページ上で直接、または通貨や場所の切り替え時のAJAX呼び出しの結果として、ウェブサイトで以下のエラーが発生した場合は、以下の回避策をお試しください。
Fatal error: Uncaught Error: Call to a member function get_client_currency() on null in /wp-content/plugins/woocommerce-multilingual/classes/multi-currency/payment-gateways/class-wcml-payment-gateway-paypal.php:158
回避策
現在、この問題の恒久的な修正に取り組んでいます。それまでの間は、以下の回避策を使用してください。
- ウェブサイトのファイルとデータベースをバックアップします。
- woocommerce-multilingual/classes/multi-currency/payment-gateways/class-wcml-payment-gateway-paypal.phpの156〜158行目を以下のように変更します。
変更前:global $woocommerce_wpml; $client_currency = $woocommerce_wpml->multi_currency->get_client_currency();
変更後:
global $woocommerce_wpml; if ( is_null( $woocommerce_wpml->multi_currency ) ) { return $supported_currencies; } $client_currency = $woocommerce_wpml->multi_currency->get_client_currency();
ご質問がある場合、または関連する問題を報告される場合は、チームが効率的なサポートを提供できるよう、この既知の問題についてお知らせください。