WPML

หน้านี้มีไว้สำหรับทีมพัฒนา CornerStone และนักพัฒนาเว็บที่ใช้ปลั๊กอินสร้างหน้าเว็บ CornerStone โดยจะอธิบายกระบวนการรักษาความเข้ากันได้ของ CornerStone กับ WPML ซึ่งทำได้โดยการอัปเดตไฟล์การกำหนดค่าภาษา

ใน การลงทะเบียนวิดเจ็ตปลั๊กอินสร้างหน้าเว็บแบบกำหนดเองสำหรับการแปล เราได้อธิบายโดยละเอียดเกี่ยวกับวิธีลงทะเบียนวิดเจ็ตปลั๊กอินสร้างหน้าเว็บแบบกำหนดเองสำหรับการแปลโดยใช้ไฟล์การกำหนดค่าภาษา ตอนนี้เรามาดูข้อมูลที่จำเป็นในการดำเนินการนี้สำหรับวิดเจ็ต Cornerstone กัน

การค้นหาข้อมูลการลงทะเบียนของวิดเจ็ต

เพื่อให้สามารถลงทะเบียนวิดเจ็ตแบบกำหนดเองของ Cornerstone ภายในไฟล์ wpml-config.xml คุณต้องค้นหาข้อมูลพื้นฐานเกี่ยวกับวิดเจ็ตดังกล่าวก่อน

คุณสามารถรับข้อมูลนี้ได้อย่างง่ายดายจากฟิลด์กำหนดเอง _cornerstone_data หรือโดยการใช้ปลั๊กอินอย่าง JSM Show Post Metadata ปลั๊กอินนี้จะแสดงข้อมูลเมตาของโพสต์และค่าที่ยังไม่ได้แปลง (unserialized) ในกล่องเมตาที่ด้านล่างของหน้าแก้ไขโพสต์

หรือคุณสามารถใช้ขั้นตอนต่อไปนี้เพื่อรับข้อมูลนี้:

  1. ไปที่หน้า WPMLการตั้งค่า เลื่อนไปที่ส่วน การแปลฟิลด์ที่กำหนดเอง และคลิกลิงก์ Show system field
  2. ตั้งค่าฟิลด์กำหนดเอง _cornerstone_data เป็น แปล
  3. สร้างหน้าใหม่และเพิ่มเฉพาะวิดเจ็ต CornerStone ที่คุณต้องการลงทะเบียน บันทึกหน้า
  4. ไปที่ WPMLการตั้งค่า และในส่วน ตัวแก้ไขการแปล ให้เปิดใช้งานตัวเลือก ตัวแก้ไขการแปลแบบคลาสสิก ชั่วคราว
  5. ลองแปลหน้าที่คุณสร้างในขั้นตอนที่ 3 โดยใช้ ตัวแก้ไขการแปลแบบคลาสสิก แล้วคุณจะสังเกตเห็นอาร์เรย์ที่แปลงแล้ว (serialized array) ดังนี้:
อาร์เรย์ที่แปลงแล้วของวิดเจ็ต Cornerstone ที่แสดงในตัวแก้ไขการแปลแบบคลาสสิกของ WPML
  1. คัดลอกเนื้อหาของอาร์เรย์ที่แปลงแล้ว
  2. ใช้เครื่องมือแปลงกลับ (unserialize) ที่คุณต้องการเพื่อให้เห็นได้ชัดเจนยิ่งขึ้นว่าวิดเจ็ตแสดงผลเนื้อหาอย่างไร ในกรณีของเรา เราใช้เว็บไซต์ Unserialize

นี่คือคำอธิบายเนื้อหาของอาร์เรย์ที่คุณจะเห็น:

  • [_type] มีชื่อที่แทรกอยู่ในแอตทริบิวต์ name ของแท็กวิดเจ็ต
  • ค่า field จะเป็นชื่อภายในวงเล็บที่จะมีชื่อของฟิลด์ ตัวอย่างเช่น:[testimonial_content] => You are never too old to set another goal or to dream a new dream ในกรณีนี้ "title" คือข้อความที่คุณต้องการ

เมื่อคุณมีข้อมูลนี้แล้ว คุณสามารถดำเนินการลงทะเบียนวิดเจ็ตสำหรับการแปลได้จริง

ตัวอย่างเช่น วิดเจ็ต Testimonial ที่มาพร้อมกับ Cornerstone นำโครงสร้างที่คล้ายกับโครงสร้างนี้มาไว้ในฟิลด์กำหนดเอง _cornerstone_data ด้วยข้อมูลนี้ วิดเจ็ตควรได้รับการลงทะเบียนดังต่อไปนี้เพื่อให้ WPML สามารถตรวจจับและแปลได้:

<wpml-config>
  <cornerstone-widgets>
    <widget name="testimonial">
      <fields>
        <field type="Testimonial: Content">testimonial_content</field>
      </fields>
    </widget>
  </cornerstone-widgets>
</wpml-config>

แน่นอนว่าสิ่งนี้ไม่จำเป็น เนื่องจากวิดเจ็ต Testimonial ได้รับการลงทะเบียนโดยค่าเริ่มต้นโดย WPML ในพื้นที่เก็บข้อมูลของเราแล้ว แต่นี่เป็นเพียงตัวอย่างสำหรับวิดเจ็ตแบบกำหนดเองของคุณ

การทดสอบไฟล์การกำหนดค่าภาษา

เมื่อคุณสร้างไฟล์การกำหนดค่าแล้ว ให้ทำตามขั้นตอนเหล่านี้เพื่อทดสอบว่าทุกอย่างได้รับการลงทะเบียนตามที่คาดไว้หรือไม่:

  1. ตั้งค่าการติดตั้งโดยเปิดใช้งานทั้ง CornerStone และ WPML เปิดใช้งานส่วนเสริม การแปลสตริง และ การแปลสื่อ
  2. คุณจะต้องเขียนทับไฟล์การกำหนดค่าภาษาระยะไกลของ WPML ด้วยไฟล์ที่อัปเดตแล้ว ในการดำเนินการนี้ ให้ไปที่หน้า WPMLการตั้งค่า แล้วคลิกแท็บ การกำหนดค่า XML ที่กำหนดเอง คัดลอกเนื้อหาของไฟล์การกำหนดค่าภาษาที่อัปเดตแล้วของคุณลงในตัวแก้ไข แล้วคลิก บันทึก
การเขียนทับไฟล์การกำหนดค่าภาษาระยะไกลด้วยไฟล์ที่อัปเดตแล้ว
  1. สร้างหน้าใหม่และเพิ่มโมดูลใหม่ลงไป ในกรณีที่คุณอัปเดตแอตทริบิวต์บางอย่างสำหรับโมดูลที่มีอยู่ ให้เพิ่มแอตทริบิวต์เหล่านี้ลงในหน้าด้วยเช่นกัน ในตัวอย่างนี้ เราจะสมมติว่ามีการเพิ่มโมดูล Testimonial ใหม่ลงในปลั๊กอินสร้างหน้าเว็บ CornerStone เพิ่มลงในหน้าแล้วคลิก เผยแพร่
เพิ่มโมดูลใหม่ลงในหน้าแล้วคลิก เผยแพร่
  1. คลิกที่ไอคอน บวก เพื่อแปลหน้าเว็บ การดำเนินการนี้จะนำคุณไปยังหน้าจอ ตัวแก้ไขการแปล
  2. ตรวจสอบให้แน่ใจว่าองค์ประกอบข้อความของโมดูลแสดงบนหน้าจอ ตัวแก้ไขการแปลขั้นสูง
  3. กรอกข้อความที่แปลแล้วของคุณ แล้วคลิกปุ่ม Complete Translation
แปลองค์ประกอบข้อความแล้วคลิก Complete Translation
  1. ตรวจสอบหน้าที่แปลแล้วในส่วนหน้าเว็บไซต์
การแปลทำงานในส่วนหน้าเว็บไซต์ ("fr" เป็นเพียงการกำหนดทดสอบสำหรับภาษาฝรั่งเศสในตัวอย่างนี้)

หน้าที่แปลแล้วจะแสดงสตริงข้อความที่แปลทั้งหมด ซึ่งแสดงให้เห็นว่าไฟล์การกำหนดค่าภาษาที่อัปเดตทำงานได้อย่างถูกต้อง ในกรณีที่คุณพบปัญหาใด ๆ โปรดติดต่อทีมพัฒนาความเข้ากันได้ของเรา พวกเขายินดีที่จะตรวจสอบปัญหาที่เกี่ยวข้องกับไฟล์การกำหนดค่าภาษา

เมื่อทำการทดสอบเสร็จแล้ว โปรดส่งคำขอผสาน (merge request) ไปยังพื้นที่เก็บข้อมูลของเรา นักพัฒนาความเข้ากันได้ของเราจะได้รับคำขอของคุณและทำการตรวจสอบ

เขียนโดย Amir · อัปเดตล่าสุด 4 พฤษภาคม 2026