- Статус
- Решено
- Заявлено для
- 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 );