問題の概要
WPML Multilingual & Multicurrency for WooCommerceのマルチ通貨機能を使用している場合、セカンダリ言語の商品に誤った価格が表示される場合があります。
この状況は、WooCommerceのデフォルトとは異なるデフォルト通貨を設定した場合、または商品を翻訳する前にフロントエンドで通貨を切り替えた場合に発生する可能性があります。
回避策
この問題はWooCommerce Multilingual 5.1.0で修正されました。 更新するとサイト上の問題は解決するため、この回避策が必要になるのは、まだ更新できない場合のみです。
開発チームはこの状況を認識しています。それまでの間、以下の回避策を実施してください。
- 続行する前に、サイトの完全なバックアップを作成してください。
- /woocommerce-multilingual/inc/currencies/class-wcml-multi-currency-prices.phpファイルを開きます。
- 147行目を探し、以下の直後を確認します。
public function raw_price_filter( $price, $currency = false ) { - 以下を追加します。
$debug = new \WPML\Utils\DebugBackTrace(); if ( $debug->is_class_function_in_call_stack( 'WPML_TM_ATE_Jobs', 'apply', true ) ) { return $price; }