WPML
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;
   }

Tất cả các lỗi đã ghi nhận →