WPML

เรียนรู้วิธีทำให้ข้อความที่บันทึกไว้ในตาราง wp_options สามารถแปลได้และแปลง ID อ็อบเจ็กต์โดยอัตโนมัติ

บางครั้งธีมและปลั๊กอินจะรวมข้อความไว้เป็นส่วนหนึ่งของตัวเลือกที่บันทึกไว้ในตาราง wp_options WPML ช่วยให้คุณสามารถแปลข้อความดังกล่าวได้โดยการแทนที่การเรียก get_option ด้วยคำแปลที่คุณระบุในไฟล์ wpml-config.xml

ไฟล์ wpml-config.xml เป็นเอกสารการกำหนดค่าที่สั่งให้ WPML ทราบว่าสตริงใดในตัวเลือกที่บันทึกไว้จำเป็นต้องได้รับการแปล

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

ต้องการสร้างไฟล์ wpml-config.xml หรือไม่ ไปที่คู่มือทีละขั้นตอนของเราสำหรับการสร้างไฟล์การกำหนดค่าโดยอัตโนมัติโดยใช้ปลั๊กอิน Multilingual Tools

การแปลสตริงในตาราง wp_options

เมื่อธีมและปลั๊กอินใช้ get_option ธีมและปลั๊กอินเหล่านั้นจะอ่านค่าจากตาราง wp_options WPML สามารถกรองการเรียกเหล่านี้และให้คำแปลสำหรับค่าของตัวเลือกเหล่านี้ได้

วิธีนี้ใช้ได้ผลหากระเบียน wp_option เป็นสตริงธรรมดา และยังใช้ได้เมื่อเป็นอาร์เรย์ที่ทำซีเรียลไลซ์ด้วย

หากต้องการแปลตัวเลือกเดียว ให้เพิ่มรายการ key ไว้ใต้ admin-texts หากต้องการแปลอาร์เรย์ที่ทำซีเรียลไลซ์ ให้เพิ่มคีย์หลายรายการไว้ใต้ key ดังที่คุณเห็นใน my_plugin_options ในตัวอย่างด้านล่าง

ข้อความผู้ดูแลระบบในไฟล์การกำหนดค่าภาษา
<wpml-config>
  <admin-texts>
    <key name="my_plugins_options">
      <key name="option_name_1" />
      <key name="option_name_2" />
    <key name="options_group_1">
      <key name="sub_option_name_11" />
      <key name="sub_option_name_12" />
    </key>
      <key name="options_group_2">
      <key name="sub_option_name_21" />
    <key name="sub_option_name_22" />
    </key>
    </key>
  <key name="simple_string_option"/>
</admin-texts>
 
</wpml-config>

คุณสามารถใช้ไวลด์การ์ด * ในคีย์ย่อยได้ดังกรณีต่อไปนี้

ตัวอย่างการใช้ไวลด์การ์ด
<wpml-config>
  <admin-texts>
    <key name="testing_option">
      <key name="*"/>
    </key>
  </admin-texts>
</wpml-config>

ซึ่งเทียบเท่ากับโค้ดนี้:

โค้ดที่เทียบเท่ากัน
<wpml-config>
  <admin-texts>
    <key name="testing_option">
      <key name="sub_key_1"/>
      <key name="sub_key_2">
        <key name="sub_sub_21">
          <key name="sub_sub_211"/> 
        </key> 
        <key name="sub_sub_21"/>
        </key>
      <key name="more_sub_keys"/>
    </key>
  </admin-texts>
</wpml-config>

โปรดทราบว่าไวลด์การ์ด * ไม่สามารถใช้ในคีย์หลักได้:

ไวลด์การ์ดไม่สามารถใช้ในคีย์หลักได้
<wpml-config>
  <admin-texts>
    <key name="some_option_*" />
    <key name="*"/>
  </admin-texts>
</wpml-config>

การแปลง ID อ็อบเจ็กต์ในข้อความผู้ดูแลระบบโดยอัตโนมัติ

ตั้งแต่ WPML 4.8 เป็นต้นไป คุณสามารถประกาศได้ว่าข้อความผู้ดูแลระบบบางข้อความมี ID อ็อบเจ็กต์ เช่น ID โพสต์ สินค้า หรืออนุกรมวิธาน WPML จะแปลง ID เหล่านั้นในส่วนหน้าของเว็บไซต์โดยอัตโนมัติ

นี่เป็นส่วนขยายของฟังก์ชันการทำงานที่มีอยู่เกี่ยวกับการแปลง ID ของ shortcode โดยอัตโนมัติ และใช้ไวยากรณ์เดียวกัน

ในรายการ key ภายใต้ admin-texts ให้ใช้:

  • type เพื่อระบุว่าอ้างอิงถึงอ็อบเจ็กต์ใด เช่น post-ids หรือ taxonomy-ids
  • sub-type (ระบุหรือไม่ก็ได้) เมื่อคุณต้องการประกาศเอนทิตีเฉพาะ (เช่น สินค้า)

แอตทริบิวต์ Type และ sub-type สามารถเพิ่มได้ในระดับที่ซ้อนกันใด ๆ ก็ได้

WPML สามารถตรวจจับและแปลง ID ในรูปแบบเหล่านี้ได้:

  • ID เดี่ยว (เช่น 123)
  • อาร์เรย์ (และอาร์เรย์ที่เข้ารหัส) ของ ID (เช่น [123,456,789])
  • รายการ ID ที่คั่นด้วยเครื่องหมายจุลภาค (เช่น "123,456,789")
ตัวอย่างการประกาศ ID อ็อบเจ็กต์ในข้อความผู้ดูแลระบบ
<wpml-config>
  <admin-texts>
    <key name="admin_text_option_key" type="post-ids" sub-type="product" />
    <key name="admin_text_with_nested_ids">
      <key name="admin_text_nested_key_with_ids" type="post-ids" sub-type="product" />
      <key name="admin_text_nested_key_with_ids_with_wildcard_*" type="post-ids" sub-type="product" />
      <key name="admin_text_nested_key_with_subkey">
        <key name="admin_text_nested_key_with_subkey_with_ids" type="post-ids" sub-type="product" />
          </key>
      </key>
  </admin-texts>
</wpml-config>

แหล่งข้อมูลเพิ่มเติม

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับไฟล์ wpml-config.xml โปรดไปที่คู่มือไฟล์การกำหนดค่าภาษา

สำหรับการปรับแต่งองค์ประกอบอื่น ๆ โดยใช้ไฟล์ wpml-config.xml โปรดไปที่คู่มือเพิ่มเติมของเรา:

เขียนโดย Amir · อัปเดตล่าสุด 14 ตุลาคม 2025