- Estado
- Resuelto
- Notificado para
- WPML Multilingual CMS 3.6.1
- Resuelto en
- 3.6.1
Resumen del problema
A veces, no todos los menús que existen en su sitio aparecerán en el cuadro de diálogo para añadir un selector de idiomas a un menú. Además, el selector de idiomas no aparece en el menú del idioma secundario.
Solución alternativa
Este problema ocurre en instalaciones antiguas donde el term_id no siempre es igual al term_taxonomy_id.
El problema se solucionará en una versión futura. Mientras tanto, es posible aplicar un parche manualmente a la versión publicada actualmente.
Paso 1
Edite el archivo wp-content/plugins/sitepress-multilingual-cms/classes/language-switcher/class-wpml-ls-settings.php en la línea 267 y reemplace:
$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' );
Paso 2
Edite el archivo wp-content/plugins/sitepress-multilingual-cms/classes/translations/class-wpml-menu-element.php en la línea 27 y reemplace:
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 );