- Stato
- Risolto
- Segnalato per
- WPML Multilingual CMS 3.6.1
- Risolto in
- 3.6.1
Panoramica del problema
A volte, non tutti i menu presenti nel tuo sito saranno elencati nella finestra di dialogo per aggiungere un selettore di lingua a un menu. Inoltre, il selettore di lingua manca nel menu della lingua secondaria.
Soluzione alternativa
Questo problema si verifica con le vecchie installazioni in cui il term_id non è sempre uguale al term_taxonomy_id.
Il problema verrà risolto in una versione futura. Nel frattempo, è possibile correggere manualmente la versione attualmente rilasciata.
Passaggio 1
Modifica il file wp-content/plugins/sitepress-multilingual-cms/classes/language-switcher/class-wpml-ls-settings.php alla riga 267 e sostituisci:
$menu_details = $this->sitepress->get_element_language_details( $menu->term_id, 'tax_nav_menu' );
Con:
$menu_details = $this->sitepress->get_element_language_details( $menu->term_taxonomy_id, 'tax_nav_menu' );
Passaggio 2
Modifica il file wp-content/plugins/sitepress-multilingual-cms/classes/translations/class-wpml-menu-element.php alla riga 27 e sostituisci:
return new WPML_Menu_Element( $element_data->element_id, $this->sitepress, $this->wpml_cache );
Con:
return new WPML_Menu_Element( $element_data->term_id, $this->sitepress, $this->wpml_cache );