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

Todos los problemas conocidos →