- 状态
- 已解决
- 报告针对
- WPML Multilingual CMS 3.6.1
- 解决于
- 3.6.1
问题概述
有时,在向菜单添加语言切换器的对话框中,并非您站点中的所有菜单都会被列出。此外,次要语言的菜单中缺少语言切换器。
临时解决方法
此问题发生在旧安装中,其 term_id 并不总是等于 term_taxonomy_id。
该问题将在未来的版本中修复。在此期间,可以手动修补当前发布的版本。
第 1 步
编辑文件 wp-content/plugins/sitepress-multilingual-cms/classes/language-switcher/class-wpml-ls-settings.php 的第 267 行,并将:
$menu_details = $this->sitepress->get_element_language_details( $menu->term_id, 'tax_nav_menu' );
替换为:
$menu_details = $this->sitepress->get_element_language_details( $menu->term_taxonomy_id, 'tax_nav_menu' );
第 2 步
编辑文件 wp-content/plugins/sitepress-multilingual-cms/classes/translations/class-wpml-menu-element.php 的第 27 行,并将:
return new WPML_Menu_Element( $element_data->element_id, $this->sitepress, $this->wpml_cache );
替换为:
return new WPML_Menu_Element( $element_data->term_id, $this->sitepress, $this->wpml_cache );