- ステータス
- 解決済み
- 報告対象
- WPML Multilingual & Multicurrency for WooCommerce 4.0.4
- 解決されたバージョン
- WPML Multilingual & Multicurrency for WooCommerce 4.1.0
問題の概要
WPMLの古いバージョン(たとえば3.4.0)を使用しており、WPML Multilingual & Multicurrency for WooCommerceを4.0.3から4.0.4にアップデートすると、次のような致命的なエラーが発生する場合があります。
"PHP Fatal error: Call to undefined method WPML_WP_API::is_comments_post_page() in /wp-content/plugins/woocommerce-multilingual/inc/wcml-switch-lang-request.php on line 136"
回避策
この問題を修正するには2つの方法があります。
1. WPMLを最新バージョンにアップデートします。これが推奨される、最も早く安全な方法です。
2. 以下のコードを使用して、/woocommerce-multilingual/inc/wcml-switch-lang-request.phpファイルのget_requested_lang()関数にパッチを適用し、置き換えます。
public function get_requested_lang() {
return $this->is_comments_post_page() ? $this->get_cookie_lang() : $this->get_request_uri_lang();
}
public function is_comments_post_page() {
global $pagenow;
return 'wp-comments-post.php' === $pagenow;
}