- Status
- Resolvido
- Relatado para
- WPML Multilingual CMS 3.6.1
- Resolvido em
- 3.6.1
Visão geral do problema
Às vezes, nem todos os menus que existem no seu site serão listados na caixa de diálogo para adicionar um seletor de idiomas a um menu. Além disso, o seletor de idiomas está ausente no menu do idioma secundário.
Solução alternativa
Esse problema ocorre em instalações antigas onde o term_id nem sempre é igual ao term_taxonomy_id.
O problema será corrigido em uma versão futura. Enquanto isso, é possível corrigir manualmente a versão lançada atualmente.
Passo 1
Edite o arquivo wp-content/plugins/sitepress-multilingual-cms/classes/language-switcher/class-wpml-ls-settings.php na linha 267 e substitua:
$menu_details = $this->sitepress->get_element_language_details( $menu->term_id, 'tax_nav_menu' );
Por:
$menu_details = $this->sitepress->get_element_language_details( $menu->term_taxonomy_id, 'tax_nav_menu' );
Passo 2
Edite o arquivo wp-content/plugins/sitepress-multilingual-cms/classes/translations/class-wpml-menu-element.php na linha 27 e substitua:
return new WPML_Menu_Element( $element_data->element_id, $this->sitepress, $this->wpml_cache );
Por:
return new WPML_Menu_Element( $element_data->term_id, $this->sitepress, $this->wpml_cache );