WPML
ステータス
解決済み
報告対象
WPML Multilingual CMS 3.6.1
解決されたバージョン
3.6.1

問題の概要

メニューに言語スイッチャーを追加するダイアログに、サイトに存在するすべてのメニューが表示されない場合があります。また、セカンダリ言語のメニューに言語スイッチャーが表示されません。

回避策

この問題は、term_idterm_taxonomy_idと常に等しいとは限らない古いインストール環境で発生します。

この問題は将来のリリースで修正される予定です。それまでの間、現在リリースされているバージョンに手動でパッチを適用できます。

ステップ1


ファイルwp-content/plugins/sitepress-multilingual-cms/classes/language-switcher/class-wpml-ls-settings.phpの267行目を編集し、以下の部分を:

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

次のように置き換えます。

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

ステップ2


ファイルwp-content/plugins/sitepress-multilingual-cms/classes/translations/class-wpml-menu-element.phpの27行目を編集し、以下の部分を:

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

次のように置き換えます。

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

すべての既知の問題 →