เรียนรู้วิธีทำให้ข้อความที่บันทึกไว้ในตาราง 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 โปรดไปที่คู่มือเพิ่มเติมของเรา:
- การแปลชอร์ตโค้ดที่กำหนดเองด้วย WPML
- การลงทะเบียนเนื้อหาของปลั๊กอินสร้างหน้าเว็บสำหรับการแปล
- การลงทะเบียนวิดเจ็ตปลั๊กอินสร้างหน้าเว็บที่กำหนดเองสำหรับการแปล
- การตั้งค่าตัวเลือกการแปลสำหรับฟิลด์กำหนดเองโดยใช้ไฟล์การกำหนดค่า WPML
- การลงทะเบียนคำศัพท์ ประเภทโพสต์ และอนุกรมวิธานที่กำหนดเองให้สามารถแปลได้
- การทำให้บล็อก Gutenberg ที่กำหนดเองสามารถแปลได้
- การปรับแต่งตัวสลับภาษา WPML โดยใช้ไฟล์การกำหนดค่า WPML