- 状态
- 已解决
- 报告针对
- 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. 使用以下代码修补并替换/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;
}