WPML
Trạng thái
Đã giải quyết
Được báo cáo cho
WPML Multilingual CMS 3.6.1
Đã giải quyết trong
3.6.1

Tổng quan về lỗi

Đôi khi, không phải tất cả các menu hiện có trên trang web của bạn đều sẽ được liệt kê trong hộp thoại để thêm bộ chuyển đổi ngôn ngữ vào menu. Ngoài ra, bộ chuyển đổi ngôn ngữ bị thiếu trong menu của ngôn ngữ phụ.

Giải pháp tạm thời

Sự cố này xảy ra với các bản cài đặt cũ, nơi term_id không phải lúc nào cũng bằng term_taxonomy_id.

Vấn đề này sẽ được khắc phục trong một phiên bản phát hành trong tương lai. Trong khi chờ đợi, bạn có thể vá lỗi thủ công cho phiên bản phát hành hiện tại.

Bước 1


Chỉnh sửa tệp wp-content/plugins/sitepress-multilingual-cms/classes/language-switcher/class-wpml-ls-settings.php ở dòng 267 và thay thế:

$menu_details = $this->sitepress->get_element_language_details( $menu->term_id, 'tax_nav_menu' );

Bằng:

$menu_details = $this->sitepress->get_element_language_details( $menu->term_taxonomy_id, 'tax_nav_menu' );

Bước 2


Chỉnh sửa tệp wp-content/plugins/sitepress-multilingual-cms/classes/translations/class-wpml-menu-element.php ở dòng 27 và thay thế:

return new WPML_Menu_Element( $element_data->element_id, $this->sitepress, $this->wpml_cache );

Bằng:

return new WPML_Menu_Element( $element_data->term_id, $this->sitepress, $this->wpml_cache );

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