ข้ามไปยังเนื้อหาหลัก ข้ามไปยังแถบด้านข้าง
อัปเดตแล้ว
3 มีนาคม 2026

เรียนรู้วิธีตั้งค่ากำหนดการแปลสำหรับฟิลด์ ACF ที่ลงทะเบียนใน PHP และรวมเข้ากับไฟล์ JSON ที่สร้างโดย ACF โดยอัตโนมัติ

การตั้งค่ากำหนดการแปลสำหรับฟิลด์ ACF ที่ลงทะเบียนด้วย PHP

ในการตั้งค่ากำหนดการแปลสำหรับฟิลด์ ACF ที่ลงทะเบียนด้วย PHP คุณต้องใช้ฟังก์ชัน acf_add_local_field_group และเพิ่ม wpml_cf_preferences ลงในคำจำกัดความของแต่ละฟิลด์

มีค่าตัวเลขสี่ค่าที่คุณสามารถใช้สำหรับ wpml_cf_preferences ได้แก่:

  • 0ไม่ต้องแปล WPML จะละเว้นฟิลด์นี้โดยสิ้นเชิง
  • 1คัดลอก ค่าของฟิลด์จะถูกคัดลอกไปยังทุกภาษาและจะซิงค์ข้อมูลให้ตรงกันเสมอ
  • 2แปล ค่าของฟิลด์จะพร้อมสำหรับการแปล
  • 3คัดลอกครั้งเดียว ค่าของฟิลด์จะถูกคัดลอกไปยังทุกภาษาเพียงครั้งเดียว หลังจากนั้นจะสามารถแก้ไขในแต่ละภาษาแยกกันได้อย่างเป็นอิสระ

ไม่แน่ใจว่าควรใช้ตัวเลือกการแปลแบบใด? โปรดดู ตัวเลือกที่แนะนำสำหรับแต่ละฟิลด์ ACF

ด้านล่างนี้คุณจะเห็นตัวอย่างการเพิ่มคีย์ wpml_cf_preferences ลงในกลุ่มฟิลด์ที่ลงทะเบียนผ่านการเขียนโปรแกรม

acf_add_local_field_group( [
  'key' => 'group_1',
  'title' => 'My Group',
  'fields' => [
  [
  'key' => 'field_1',
  'label' => 'Sub Title',
  'name' => 'sub_title',
  'type' => 'text',
  'prefix' => '',
  'instructions' => '',
  'required' => 0,
  'conditional_logic' => 0,
  'wrapper' => [
  'width' => '',
  'class' => '',
  'id' => '',
  ],
  'default_value' => '',
  'placeholder' => '',
  'prepend' => '',
  'append' => '',
  'maxlength' => '',
  'readonly' => 0,
  'disabled' => 0,
  'wpml_cf_preferences' => 2, // ฟิลด์นี้ ("Sub Title") จะถูกแปล
  ],
  ],
  'location' => [
  [
  [
  'param' => 'post_type',
  'operator' => '==',
  'value' => 'post',
  ],
  ],
  ],
  'menu_order' => 0,
  'position' => 'normal',
  'style' => 'default',
  'label_placement' => 'top',
  'instruction_placement' => 'label',
  'hide_on_screen' => '',
] );

การซิงค์ฟิลด์ของคุณกับ WPML

หลังจากกำหนดฟิลด์ของคุณโดยใช้ PHP แล้ว คุณต้องแจ้งให้ WPML ทราบเกี่ยวกับฟิลด์เหล่านั้น

  1. ไปที่หน้า ACFTools
  2. เลื่อนลงไปที่ Translate ACF Local JSON and PHP-Registered Fields
การซิงค์ฟิลด์ ACF ภายในเครื่องกับ WPML
  1. ในส่วน ซิงค์การตั้งค่าการแปลสำหรับฟิลด์ในเครื่อง (Local Fields) ให้เลือกเวลาที่ต้องการให้การซิงค์เกิดขึ้น ในกรณีส่วนใหญ่ คุณจะต้องการใช้ตัวเลือก Sync once now แล้วคลิกปุ่ม Apply

WPML จะซิงค์ฟิลด์ต่างๆ แล้วรีเซ็ตกลับเป็นตัวเลือกแบบไม่ซิงค์ ด้วยวิธีนี้ การซิงค์จะเข้าถึงฐานข้อมูลของคุณเพียงครั้งเดียวและตามเวลาที่คุณเลือก

การตั้งค่ากำหนดการแปลสำหรับฟิลด์ ACF ในไฟล์ JSON

หากคุณกำลังใช้งานฟีเจอร์ Local JSON ของ ACF ทาง ACF Multilingual (ACFML) จะเพิ่มการตั้งค่าการแปลสำหรับทุกฟิลด์ในไฟล์ JSON ของคุณให้โดยอัตโนมัติ ซึ่งหมายความว่าเมื่อคุณส่งออกและนำเข้าไฟล์ JSON ระหว่างเว็บไซต์ การตั้งค่าการแปลเหล่านั้นจะถูกนำไปใช้ในเว็บไซต์ปลายทางโดยอัตโนมัติ

สิ่งที่คุณต้องทำคือเปิดใช้งาน ACFML ทั้งในไซต์ต้นทาง และ ไซต์ปลายทาง เมื่อเสร็จแล้ว ทุกครั้งที่ ACF สร้างไฟล์ JSON ระบบจะรวมกำหนดการแปลของคุณไว้ด้วย

หากไฟล์ JSON ของคุณถูกสร้างขึ้นในตอนแรกโดยไม่ได้เปิดใช้งาน ACFML ให้เปิดใช้งาน ACFML นำเข้าไฟล์ JSON เข้าสู่ส่วนติดต่อผู้ใช้ของ ACF ตั้งค่ากำหนดการแปล และบันทึกกลุ่มฟิลด์อีกครั้ง วิธีนี้จะสร้างไฟล์ JSON ใหม่พร้อมรวมกำหนดการแปลไว้ด้วย