WPML
สถานะ
แก้ไขแล้ว
รายงานสำหรับ
WPML Multilingual CMS 3.1.9.5
แก้ไขใน
3.1.9.7

ภาพรวมของปัญหา

  1. ไปที่เมนูและสร้างเมนูในภาษาเริ่มต้น
  2. ลองสร้างเมนูในภาษารอง
  3. หลังจากบันทึก คุณจะพบข้อผิดพลาด 404

วิธีแก้ปัญหาชั่วคราว

ปัญหานี้ได้รับการแก้ไขแล้วใน WPML 3.1.9.7


คุณควรอัปเดต WPML เป็นเวอร์ชันล่าสุดเพื่อแก้ไขปัญหา

หากคุณไม่ต้องการหรือไม่สามารถอัปเดต WPML ได้ โปรดทำตามคำแนะนำต่อไปนี้:


  1. ดาวน์โหลด iclNavMenu.class.php เวอร์ชันที่อัปเดตแล้ว

  2. ใช้ไฟล์นี้แทนที่ 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 121

  • PHP 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

  • หน้าจอขาว/ว่างเปล่า

ให้ทำตามขั้นตอนต่อไปนี้:

  1. ไปที่ “WPML” -> “ฝ่ายสนับสนุน”

  2. คลิกที่ ”ข้อมูลการดีบัก” คุณจะเห็นกล่องข้อความสีเทาพร้อมข้อมูลจำนวนมาก (เป็นออบเจกต์ json)

  3. คัดลอกเนื้อหาในกล่องข้อความลงในไฟล์ข้อความและตั้งชื่อไฟล์ตามที่คุณต้องการ จะดีกว่าหากคุณใช้นามสกุลไฟล์ “json” แต่ไม่บังคับ

  4. สร้างผู้ใช้ WordPress ใหม่พร้อมสิทธิ์ผู้ดูแลระบบเพื่อให้เราตรวจสอบปัญหา

  5. ติดตั้งปลั๊กอิน “Duplicator” ฟรี (ที่นี่)
    คุณสามารถใช้ปลั๊กอินอื่นได้หากต้องการ แต่คำแนะนำต่อไปนี้จะเฉพาะเจาะจงสำหรับ Duplicator (แม้ว่าจะสามารถปรับใช้กับปลั๊กอินอื่นได้อย่างง่ายดาย)

  6. สร้างแพ็คเกจใหม่:

    1. ไปที่ “Duplicator” -> “แพ็คเกจ”

    2. คลิก “Create New”

    3. ดำเนินการตามวิซาร์ดโดยปล่อยการตั้งค่าเริ่มต้นทั้งหมดไว้ (หากต้องการ คุณสามารถยกเว้นบางไฟล์ที่คุณคิดว่าไม่จำเป็น หรือไฟล์ที่จะทำให้แพ็คเกจมีขนาดใหญ่เกินไป เช่น ไฟล์ในโฟลเดอร์ “uploads”)

    4. เมื่อสแนปชอตพร้อมแล้ว ให้ดาวน์โหลดทั้งไฟล์ “installer” และไฟล์ “package”

  7. สร้างโฟลเดอร์และใส่ไฟล์จากขั้นตอนที่ 3 และ 6.4 (นั่นคือ ไฟล์ข้อความที่มีข้อมูลการดีบัก ไฟล์ตัวติดตั้ง และไฟล์แพ็คเกจ)

  8. บีบอัดโฟลเดอร์นั้นเป็นไฟล์ Zip และอัปโหลดลงบน Google Drive, Dropbox หรือบริการที่คล้ายกัน (หรืออัปโหลดทั้งโฟลเดอร์โดยไม่ต้องบีบอัดไฟล์แล้วแชร์)

  9. ไปที่ฟอรัมสนับสนุนของเรา และสร้างทิกเก็ตขอความช่วยเหลือโดยใช้ชื่อต่อไปนี้ “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()

เพื่อแก้ไขข้อผิดพลาดเฉพาะนี้ โปรดทำตามขั้นตอนต่อไปนี้:


  1. เปิด
    'wp-content/plugins/sitepress-multilingual-cms/inc/functions.php'
    และค้นหา
    wpml_prepare_in

  2. หากคุณไม่พบ ให้เพิ่มโค้ดนี้ที่ด้านล่างของไฟล์:
    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;
    }

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