WPML
สถานะ
แก้ไขแล้ว
รายงานสำหรับ
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 );

ปัญหาที่ทราบแล้วทั้งหมด →