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

Все известные проблемы →