WPML
Status
Gelöst
Gemeldet für
WPML Multilingual CMS 3.6.1
Gelöst in
3.6.1

Übersicht über das Problem

Manchmal werden im Dialog zum Hinzufügen eines Sprachumschalters zu einem Menü nicht alle Menüs aufgelistet, die auf Ihrer Website existieren. Außerdem fehlt der Sprachumschalter im Menü der Sekundärsprache.

Problemumgehung

Dieses Problem tritt bei alten Installationen auf, bei denen die term_id nicht immer identisch mit der term_taxonomy_id ist.

Das Problem wird in einer zukünftigen Version behoben. In der Zwischenzeit ist es möglich, die aktuell veröffentlichte Version manuell zu patchen.

Schritt 1


Bearbeiten Sie die Datei wp-content/plugins/sitepress-multilingual-cms/classes/language-switcher/class-wpml-ls-settings.php in Zeile 267 und ersetzen Sie:

$menu_details = $this->sitepress->get_element_language_details( $menu->term_id, 'tax_nav_menu' );

Durch:

$menu_details = $this->sitepress->get_element_language_details( $menu->term_taxonomy_id, 'tax_nav_menu' );

Schritt 2


Bearbeiten Sie die Datei wp-content/plugins/sitepress-multilingual-cms/classes/translations/class-wpml-menu-element.php in Zeile 27 und ersetzen Sie:

return new WPML_Menu_Element( $element_data->element_id, $this->sitepress, $this->wpml_cache );

Durch:

return new WPML_Menu_Element( $element_data->term_id, $this->sitepress, $this->wpml_cache );

Alle bekannten Probleme →