WPML
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 );

Todos os problemas conhecidos →