- สถานะ
- แก้ไขแล้ว
- รายงานสำหรับ
- WPML Multilingual CMS 3.1.9.5
- แก้ไขใน
- 3.1.9.7
ภาพรวมของปัญหา
- ไปที่เมนูและสร้างเมนูในภาษาเริ่มต้น
- ลองสร้างเมนูในภาษารอง
- หลังจากบันทึก คุณจะพบข้อผิดพลาด 404
วิธีแก้ปัญหาชั่วคราว
ปัญหานี้ได้รับการแก้ไขแล้วใน WPML 3.1.9.7
คุณควรอัปเดต WPML เป็นเวอร์ชันล่าสุดเพื่อแก้ไขปัญหา
หากคุณไม่ต้องการหรือไม่สามารถอัปเดต WPML ได้ โปรดทำตามคำแนะนำต่อไปนี้:
- ดาวน์โหลด iclNavMenu.class.php เวอร์ชันที่อัปเดตแล้ว
- ใช้ไฟล์นี้แทนที่
sitepress-multilingual-cms/inc/wp-nav-menus/iclNavMenu.class.php
ซึ่งส่วนใหญ่หมายความว่าคุณควรใช้ไคลเอ็นต์ FTP ของคุณและอัปโหลดไฟล์ในsitepress-multilingual-cms/inc/wp-nav-menusหากระบบถามให้เขียนทับไฟล์ที่มีอยู่ ให้ดำเนินการได้เลย
ในกรณีที่พบปัญหา
ในกรณีที่คุณพบปัญหาเหล่านี้:
Fatal error: Call to undefined method SitePress::get_setting() in /wp-content/plugins/sitepress-multilingual-cms/inc/wp-nav-menus/iclNavMenu.class.php on line 121PHP Fatal error: Call to undefined function wpml_prepare_in() in /wp-content/plugins/sitepress-multilingual-cms/inc/wp-nav-menus/iclNavMenu.class.php on line 548- หน้าจอขาว/ว่างเปล่า
ให้ทำตามขั้นตอนต่อไปนี้:
- ไปที่ “WPML” -> “ฝ่ายสนับสนุน”
- คลิกที่ ”ข้อมูลการดีบัก” คุณจะเห็นกล่องข้อความสีเทาพร้อมข้อมูลจำนวนมาก (เป็นออบเจกต์ json)
- คัดลอกเนื้อหาในกล่องข้อความลงในไฟล์ข้อความและตั้งชื่อไฟล์ตามที่คุณต้องการ จะดีกว่าหากคุณใช้นามสกุลไฟล์ “json” แต่ไม่บังคับ
- สร้างผู้ใช้ WordPress ใหม่พร้อมสิทธิ์ผู้ดูแลระบบเพื่อให้เราตรวจสอบปัญหา
- ติดตั้งปลั๊กอิน “Duplicator” ฟรี (ที่นี่)
คุณสามารถใช้ปลั๊กอินอื่นได้หากต้องการ แต่คำแนะนำต่อไปนี้จะเฉพาะเจาะจงสำหรับ Duplicator (แม้ว่าจะสามารถปรับใช้กับปลั๊กอินอื่นได้อย่างง่ายดาย) - สร้างแพ็คเกจใหม่:
- ไปที่ “Duplicator” -> “แพ็คเกจ”
- คลิก “Create New”
- ดำเนินการตามวิซาร์ดโดยปล่อยการตั้งค่าเริ่มต้นทั้งหมดไว้ (หากต้องการ คุณสามารถยกเว้นบางไฟล์ที่คุณคิดว่าไม่จำเป็น หรือไฟล์ที่จะทำให้แพ็คเกจมีขนาดใหญ่เกินไป เช่น ไฟล์ในโฟลเดอร์ “uploads”)
- เมื่อสแนปชอตพร้อมแล้ว ให้ดาวน์โหลดทั้งไฟล์ “installer” และไฟล์ “package”
- สร้างโฟลเดอร์และใส่ไฟล์จากขั้นตอนที่ 3 และ 6.4 (นั่นคือ ไฟล์ข้อความที่มีข้อมูลการดีบัก ไฟล์ตัวติดตั้ง และไฟล์แพ็คเกจ)
- บีบอัดโฟลเดอร์นั้นเป็นไฟล์ Zip และอัปโหลดลงบน Google Drive, Dropbox หรือบริการที่คล้ายกัน (หรืออัปโหลดทั้งโฟลเดอร์โดยไม่ต้องบีบอัดไฟล์แล้วแชร์)
- ไปที่ฟอรัมสนับสนุนของเรา และสร้างทิกเก็ตขอความช่วยเหลือโดยใช้ชื่อต่อไปนี้ “Workaround issues – Saving menus in non default language leads to 404 error” เราจะขอให้คุณแชร์ไฟล์ที่คุณบันทึกไว้ในขั้นตอนที่ 8 แบบส่วนตัว
หากคุณใช้ WPML เวอร์ชันเก่าเกินไป วิธีแก้ปัญหาชั่วคราวนี้อาจไม่ได้ผล
In these cases, you may get a white page, or this errors: PHP Fatal error: Call to undefined function wpml_prepare_in()
เพื่อแก้ไขข้อผิดพลาดเฉพาะนี้ โปรดทำตามขั้นตอนต่อไปนี้:
เปิด'wp-content/plugins/sitepress-multilingual-cms/inc/functions.php'
และค้นหาwpml_prepare_in
- หากคุณไม่พบ ให้เพิ่มโค้ดนี้ที่ด้านล่างของไฟล์:
function wpml_prepare_in( $items, $format = '%s' ) { global $wpdb; $items = (array) $items; $how_many = count( $items ); if ( $how_many > 0 ) { $placeholders = array_fill( 0, $how_many, $format ); $prepared_format = implode( ",", $placeholders ); $prepared_in = $wpdb->prepare( $prepared_format, $items ); } else { $prepared_in = ""; } return $prepared_in; }