- สถานะ
- แก้ไขแล้ว
- แก้ไขใน
- WPML 3.7.0
ภาพรวมของปัญหา
หากคุณใช้ธีมที่ใช้งานปลั๊กอินสร้างหน้าเว็บ หรือคุณใช้ปลั๊กอินสร้างหน้าเว็บ คุณอาจพบสถานการณ์เฉพาะบางอย่างที่ค่าในตัวแก้ไขการแปลหายไปเมื่อแก้ไขหน้าที่แปลแล้วซึ่งมีการอัปเดต
สถานการณ์ดังกล่าวอาจเกิดขึ้นในกรณีต่อไปนี้:
1. คุณสร้างหน้าทดสอบที่มี shortcode ข้อความ
2. จากนั้นคุณแปลหน้านั้น
3. จากนั้น คุณไปที่หน้าต้นฉบับและแก้ไขข้อความที่อยู่ใน shortcode
4. สิ่งนี้ทำให้หน้าที่แปลแล้วจำเป็นต้องได้รับการอัปเดต ดังนั้นคุณจึงไปที่ตัวแก้ไขการแปลเพื่อดำเนินการนี้
5. เมื่อคุณไปที่ตัวแก้ไขการแปล คุณจะสังเกตเห็นว่าค่าที่แปลแล้วสำหรับสตริงข้อความที่ถูกแก้ไขนั้นว่างเปล่า
ข้อดีคือสตริงข้อความที่แปลไว้แต่แรกอาจสามารถกู้คืนได้จากหน้าที่แปลแล้วเมื่อคุณเข้าชมหน้านั้นบนส่วนหน้าเว็บไซต์
นี่ไม่ใช่ข้อบกพร่อง แต่เป็นวิธีการทำงานของระบบเนื่องจากการแปลนั้นได้รับการจัดการผ่านการแปลสตริง
สำหรับปลั๊กอินสร้างหน้าเว็บบางตัว เมื่อมีการแก้ไขต้นฉบับ จะไม่มีวิธีที่การแปลสตริงจะรู้ได้ว่านี่คือสตริงข้อความใหม่หรือสตริงข้อความที่ถูกแก้ไข ดังนั้นจึงไม่มีวิธีระบุสตริงข้อความดังกล่าว การเปลี่ยนแปลงสตริงข้อความต้นฉบับจึงทำให้การแปลสตริงทำงานเหมือนกับว่ามีการเพิ่มสตริงข้อความใหม่ที่ไม่มีคำแปล และด้วยเหตุนี้ ค่าในตัวแก้ไขการแปลจึงว่างเปล่า
วิธีแก้ปัญหาชั่วคราว
ก่อนเปลี่ยนเนื้อหาของอิลิเมนต์ของปลั๊กอินสร้างหน้าเว็บในภาษาต้นฉบับของโพสต์/หน้า:
1. ไปที่การแปลของโพสต์/หน้านั้น
2. คัดลอกค่าที่แปลของอิลิเมนต์ที่คุณต้องการแก้ไข
3. วางเนื้อหานี้ในตำแหน่งชั่วคราว (เช่น notepad)
4. จากนั้นแก้ไขอิลิเมนต์ต้นฉบับเป็นค่าที่ต้องการ
5. เมื่ออัปเดตการแปล ให้วางเนื้อหาจากขั้นตอนที่ 3 ลงในกล่องอิลิเมนต์ที่ว่างเปล่า
6. ทำการอัปเดตใด ๆ และบันทึก