- Trạng thái
- Đã giải quyết
- Được báo cáo cho
- WPML Multilingual & Multicurrency for WooCommerce 4.0.4
- Đã giải quyết trong
- WPML Multilingual & Multicurrency for WooCommerce 4.1.0
Tổng quan về lỗi
Nếu bạn đang sử dụng một phiên bản cũ hơn của WPML – ví dụ 3.4.0, và bạn cập nhật từ WPML Đa ngôn ngữ & Đa tiền tệ cho WooCommerce 4.0.3 lên 4.0.4, bạn có thể gặp phải một lỗi nghiêm trọng tương tự như sau:
"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"
Giải pháp tạm thời
Có hai cách để khắc phục sự cố này:
1. Cập nhật WPML lên phiên bản mới nhất – đây là cách được khuyến nghị, nhanh nhất và an toàn nhất.
2. Sử dụng mã sau để vá và thay thế hàm get_requested_lang() trong tệp /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;
}