WPML

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

ในบางกรณี เมื่อใช้เทมเพลตหน้าแบบกำหนดเอง เทมเพลตที่เลือกจะไม่ถูกนำไปใช้อย่างถูกต้องกับหน้าที่แปลแล้ว

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

ปัญหานี้ได้รับการแก้ไขแล้วใน WPML 4.9.3 การอัปเดตจะแก้ปัญหานี้บนไซต์ของคุณ ดังนั้นคุณจึงต้องใช้วิธีแก้ปัญหาชั่วคราวนี้เฉพาะเมื่อคุณยังไม่สามารถอัปเดตได้

เพื่อให้แน่ใจว่าเทมเพลตหน้าแบบกำหนดเองถูกนำไปใช้กับหน้าที่แปลอย่างถูกต้อง ให้ทำตามขั้นตอนเหล่านี้:

  • ลบรายการที่เกี่ยวข้องออกจากทั้งตาราง wp_posts และ icl_translations
หรือ
  • สลับไปใช้ภาษารองโดยใช้แถบหน้าจัดการเว็บไซต์ด้านบน จากนั้นไปที่ รูปแบบเว็บตัวแก้ไข ค้นหาเทมเพลตที่แปลแล้ว และลบออก
  • ใน WPMLการตั้งค่าURL ของหน้า ให้เปิดใช้งาน “แปล” สำหรับการแปล slug (วิธีนี้ช่วยให้แน่ใจว่า slug ของเทมเพลตจะรวมอยู่ในการแปลแทนที่จะถูกสร้างขึ้นอัตโนมัติจากชื่อ)
  • เปิดไฟล์: wp-content/plugins/sitepress-multilingual-cms/classes/full-site-editing/BlockTemplates.php
  • ประมาณบรรทัดที่ 56 ให้คอมเมนต์บรรทัดต่อไปนี้ออก:
    $postData['post_name'] = $post->post_name;
  • ส่งเทมเพลตไปแปลอีกครั้ง
  • เมื่อแปลเทมเพลต ตรวจสอบให้แน่ใจว่า slug ถูกต้องและรวม slug ของหน้าหรืออนุกรมวิธานที่แปลแล้ว

สถานการณ์กรณีเฉพาะ

มีลำดับเฉพาะที่หน้าที่แปลอาจไม่เชื่อมโยงกับเทมเพลตที่แปลแล้ว:
  • เมื่อคุณสร้างเทมเพลตแบบกำหนดเองใหม่โดยตรงในขณะที่สร้างหน้าใหม่ (โดยเลือก ”เทมเพลตสร้างเทมเพลตใหม่” ในแถบด้านข้างขวา) ทั้งหน้าและเทมเพลตจะเผยแพร่พร้อมกัน
  • หากเปิดใช้งานการแปลอัตโนมัติ (”แปลทุกอย่าง“) WPML จะส่งทั้งหน้าและเทมเพลตไปแปลในเวลาเดียวกัน
  • หากการแปลหน้าเสร็จสมบูรณ์ก่อนการแปลเทมเพลต เทมเพลตที่แปลแล้วจะยังไม่มีอยู่เพื่อกำหนดให้กับหน้า ดังนั้นหน้าที่แปลแล้วจึงไปใช้เทมเพลตเริ่มต้นแทน
  • เพื่อแก้ไขปัญหานี้ เมื่อการแปลเทมเพลตเสร็จสมบูรณ์และเผยแพร่แล้ว ให้ส่งหน้าที่แปลแล้วไปแปลอีกครั้ง เพื่อให้หน้านั้นรับเทมเพลตที่แปลใหม่ได้อย่างถูกต้อง

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

ยังคงพบปัญหานี้อยู่หรือไม่

หากการอัปเดตไม่สามารถแก้ไขปัญหานี้ได้ ส่งคำถามถึงฝ่ายสนับสนุน และเราจะตรวจสอบร่วมกับคุณ