- สถานะ
- แก้ไขแล้ว
- รายงานสำหรับ
- WPML Multilingual CMS 3.6.1
- แก้ไขใน
- 3.6.1
ภาพรวมของปัญหา
บางครั้ง เมนูทั้งหมดที่มีอยู่ในไซต์ของคุณอาจไม่แสดงในกล่องโต้ตอบเพื่อเพิ่มตัวสลับภาษาลงในเมนู นอกจากนี้ ตัวสลับภาษายังขาดหายไปในเมนูของภาษารอง
วิธีแก้ปัญหาชั่วคราว
ปัญหานี้เกิดขึ้นกับการติดตั้งเก่าที่ term_id ไม่เท่ากับ term_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 );