- Статус
- Решено
- Заявлено для
- 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"
Обходное решение
Существует два способа решения этой проблемы:
1. Обновите WPML до последней версии — это рекомендуемый, самый быстрый и безопасный способ.
2. Используйте следующий код, чтобы исправить и заменить функцию get_requested_lang() в файле /woocommerce-multilingual/inc/wcml-switch-lang-request.php.
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;
}