- Statut
- Résolu
- Signalé pour
- WPML Multilingual CMS 3.6.1
- Résolu dans
- 3.6.1
Aperçu de l’anomalie
Parfois, tous les menus qui existent sur votre site ne seront pas listés dans la boîte de dialogue pour ajouter un sélecteur de langue à un menu. De plus, le sélecteur de langue est manquant dans le menu de la langue secondaire.
Solution de contournement
Ce problème se produit sur les anciennes installations où le term_id n’est pas toujours égal au term_taxonomy_id.
Ce problème sera corrigé dans une future version publiée. En attendant, il est possible de corriger manuellement la version actuellement publiée.
Étape 1
Modifiez le fichier wp-content/plugins/sitepress-multilingual-cms/classes/language-switcher/class-wpml-ls-settings.php à la ligne 267 et remplacez :
$menu_details = $this->sitepress->get_element_language_details( $menu->term_id, 'tax_nav_menu' );
Par :
$menu_details = $this->sitepress->get_element_language_details( $menu->term_taxonomy_id, 'tax_nav_menu' );
Étape 2
Modifiez le fichier wp-content/plugins/sitepress-multilingual-cms/classes/translations/class-wpml-menu-element.php à la ligne 27 et remplacez :
return new WPML_Menu_Element( $element_data->element_id, $this->sitepress, $this->wpml_cache );
Par :
return new WPML_Menu_Element( $element_data->term_id, $this->sitepress, $this->wpml_cache );