WPML

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

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

หากคุณใช้ปลั๊กอินสร้างหน้าเว็บของบุคคลที่สามและไม่สามารถแปลวิดเจ็ตแบบกำหนดเองบนเว็บไซต์ของคุณได้ โปรดติดต่อฝ่ายสนับสนุนของ WPML

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

การแปลสตริง

ลองพิจารณาตัวอย่างที่คุณมีตัวคั่นข้อความที่เพิ่มลงในหน้าโดยใช้ Visual Composer ตัวคั่นนั้นมีชื่อ และ shortcode ของตัวคั่นจะมีลักษณะดังนี้:

[vc_text_separator title="Separator Title"]

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

โค้ดต่อไปนี้เป็นตัวอย่างของสิ่งที่คุณต้องเพิ่มลงในไฟล์ wpml-config.xml ในกรณีนี้

ตัวอย่างการเพิ่ม shortcode ของปลั๊กอินสร้างหน้าเว็บลงในไฟล์ wpml-config.xml
<wpml-config>
  <shortcodes>
    <shortcode>
        <tag>vc_text_separator</tag>
        <attributes>
            <attribute>title</attribute>
        </attributes>
    </shortcode>
  </shortcodes>
</wpml-config>

มาดูโครงสร้างของตัวอย่างด้านบนกัน:

  • เริ่มต้นด้วยแท็ก shortcodes shortcode ใด ๆ ในเว็บไซต์ของคุณที่จำเป็นต้องได้รับการแปลควรอยู่ภายใต้แท็กนี้
  • ใช้แท็ก shortcode เพื่อครอบแท็กทั้งหมดที่เป็นของ shortcode เดียว
  • ใช้แท็กที่เรียกว่า tag เพื่อกำหนดชื่อของ shortcode ในกรณีนี้คือ vc_text_separator หากต้องการ คุณสามารถเพิ่มป้ายกำกับแบบกำหนดเองที่เป็นตัวเลือกให้กับแท็กได้ ป้ายกำกับเหล่านี้จะแสดงถัดจากข้อความทั้งในตัวแก้ไขการแปลขั้นสูงและตัวแก้ไขการแปลแบบคลาสสิก ไฟล์ XLIFF ที่ส่งออกจะรวมป้ายกำกับเหล่านี้ด้วย ดูตัวอย่างด้านล่างสำหรับวิธีเพิ่มป้ายกำกับให้กับแท็กและแอตทริบิวต์
  • shortcode สามารถมีแอตทริบิวต์ได้ตั้งแต่หนึ่งรายการขึ้นไป ดังนั้นคุณต้องครอบด้วยแท็ก attributes (พหูพจน์) และใช้แท็ก attribute (เอกพจน์) เพื่อกำหนดชื่อของแต่ละแอตทริบิวต์

ปลั๊กอินสร้างหน้าเว็บ (ในบางครั้ง) จะรวมองค์ประกอบการออกแบบที่มีแอตทริบิวต์ลิงก์

คุณสามารถทำให้ลิงก์ภายในชี้ไปยังเวอร์ชันที่แปลแล้วของโพสต์นั้นโดยอัตโนมัติโดยใช้ตัวเลือกลิงก์: type="link"

คุณสามารถใช้แอตทริบิวต์ encoding กับส่วนนี้ได้ โดยจะจัดการการเข้ารหัสพิเศษที่ปลั๊กอินสร้างหน้าเว็บต่าง ๆ ใช้ โดยปกติแล้วแอตทริบิวต์ encoding จะเจาะจงกับปลั๊กอินสร้างหน้าเว็บที่คุณใช้ ซึ่งยอมรับค่าต่อไปนี้:

  • base64 – shortcode HTML ดิบของ Visual Composer shortcode จะเก็บ HTML เป็นสตริง base64
  • vc_link – การจัดรูปแบบลิงก์พิเศษสำหรับ Visual Composer
  • vc_values – การเข้ารหัส Visual Composer พิเศษสำหรับค่าในวิดเจ็ต progress-bar, pie-chart และ line-chart
  • av_link – การจัดรูปแบบลิงก์พิเศษสำหรับ Enfold
  • allow_html_tags – โดยปกติแท็ก HTML จะถูกตัดออกจากแอตทริบิวต์ shortcode ตั้งค่า encoding เป็น allow_html_tags หากแอตทริบิวต์ shortcode ควรอนุญาตแท็ก HTML ใช้สิ่งนี้ด้วยความระมัดระวัง เนื่องจากการอนุญาตแท็ก HTML ในบางสถานการณ์อาจทำให้การจัดรูปแบบยุ่งเหยิงและอาจเป็นปัญหาด้านความปลอดภัย
ตัวอย่างการเพิ่มแอตทริบิวต์ลิงก์ของ shortcode: type="link"
<wpml-config>
  <shortcodes>
    <shortcode>
            <tag>av_button</tag>
            <attributes>
                <attribute>label</attribute>
                <attribute type="link" encoding="av_link">link</attribute>
            </attributes>
    </shortcode>
  </shortcodes>
</wpml-config>

หากคุณกำลังคิดที่จะใช้ shortcode แบบ urlencoded อย่าลืมอ่านหน้าเกี่ยวกับการแปล shortcode แบบ urlencoded

ตัวอย่างการเพิ่มป้ายกำกับแท็กและแอตทริบิวต์
<wpml-config>
    <shortcodes>
        <shortcode>
            <tag label="My shortcode label">my_shortcode</tag>
            <attributes>
                <attribute label="Shortcode title">title</attribute>
            </attributes>
        </shortcode>
    </shortcodes>
</wpml-config>

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

จัดกลุ่มฟิลด์เพื่อการจัดระเบียบที่ดีขึ้น

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

<wpml-config>
    <shortcodes>
        <shortcode>
            <tag label="Call To Action: Content">et_pb_cta</tag>
            <attributes>
                <attribute label="Call To Action: Title">title</attribute>
                <attribute label="Call To Action: Button Text">button_text</attribute>
                <attribute label="Call To Action: Button URL" type="link">button_url</attribute>
            </attributes>
        </shortcode>
    </shortcodes>
</wpml-config>

ในที่นี้ แต่ละแอตทริบิวต์ภายใน shortcode et_pb_cta จะนำหน้าด้วยป้ายกำกับ Call To Action: ซึ่งจะแสดงใน ตัวแก้ไขการแปลขั้นสูง ด้วย:

การแปลปุ่ม CTA ในตัวแก้ไขการแปลขั้นสูง
การแปลปุ่ม CTA ในตัวแก้ไขการแปลขั้นสูง

การแปลสื่อ

คุณสามารถใช้ การแปลสื่อ ของ WPML เพื่อใช้รูปภาพที่แตกต่างกันสำหรับภาษาต่าง ๆ ในเนื้อหาของปลั๊กอินสร้างหน้าเว็บ สิ่งนี้ทำได้โดยการแปลง ID รูปภาพและ URL รูปภาพ คุณต้อง "บอก" ปลั๊กอินสร้างหน้าเว็บที่ใช้ shortcode ว่าจะทำการแปลงนี้อย่างไร โค้ดต่อไปนี้เป็นตัวอย่างของสิ่งที่คุณต้องเพิ่มลงในไฟล์ wpml-config.xml ในกรณีนี้

ตัวอย่างการเพิ่ม shortcode ของปลั๊กอินสร้างหน้าเว็บลงในไฟล์ wpml-config.xml สำหรับการแปลรูปภาพ
<wpml-config>
  <shortcodes>
    <shortcode>
        <!-- Convert media IDs in `gallery_ids` attribute, and ignore the shortcode content -->
        <tag ignore-content="1">et_pb_gallery</tag>
        <attributes>
          <attribute type="media-ids">gallery_ids</attribute>
        <attributes>
    </shortcode>
    <shortcode>
        <!-- Convert the media URL in the content, translate some string attributes for `title` and `alt`, convert media URL in `src` attribute -->
        <tag type="media-url">et_pb_image</tag>
        <attributes>
          <attribute>title_text</attribute>
          <attribute>alt</attribute>
          <attribute type="media-url">src</attribute>
        </attributes>
    </shortcode>
  </shortcodes>
</wpml-config>

คุณสามารถใช้ค่าต่อไปนี้:

  • ignore-content – คุณสามารถใช้ภายในองค์ประกอบ tag ค่านี้เป็นตัวเลือกและสามารถเป็น 0 หรือ 1 ก็ได้ คุณสามารถใช้แอตทริบิวต์นี้เพื่อให้เข้ากันได้กับเวอร์ชันเก่าสำหรับ shortcode สื่อใหม่ หากตั้งค่าเป็น 1 เนื้อหา shortcode จะไม่ได้รับการประมวลผล
  • type – คุณสามารถใช้ภายในองค์ประกอบ tag คุณยังสามารถใช้เนื้อหา shortcode ที่มี URL สื่อเป็นค่าตัวเลือกภายใน media-url ได้
  • type – คุณยังสามารถใช้ภายในองค์ประกอบ attribute ได้เช่นกัน ในกรณีนี้ สามารถมีค่าตัวเลือกใดค่าหนึ่งต่อไปนี้:
    • media-ids – รายการ ID สื่อที่คั่นด้วยเครื่องหมายจุลภาค
    • media-url – URL ของสื่อ
    • link – ชี้ไปยังหน้าอื่นบนเว็บไซต์ และ WPML จะแปลงเป็น URL ของหน้าที่แปลแล้วโดยอัตโนมัติ

การแปลสื่อในแอตทริบิวต์ของบล็อก

คุณยังสามารถใช้ประเภทแอตทริบิวต์ media-url และ media-ids กับบล็อก Gutenberg เพื่อแปลสื่อ เช่น รูปภาพพื้นหลัง สิ่งนี้ทำงานคล้ายกับ shortcode แต่ใช้องค์ประกอบ <gutenberg-block> ที่มีองค์ประกอบ <key> ซ้อนกันเพื่อกำหนด type="media-url" และ type="media-ids"

การใช้องค์ประกอบนี้ช่วยให้ส่วนเสริม การแปลสื่อ ของ WPML สามารถแปลรูปภาพพื้นหลังได้

สิ่งนี้ทำงานได้กับทั้งบล็อก Gutenberg และ Divi 5 โดย Divi เวอร์ชันนี้ใช้บล็อกเพื่อจัดเก็บเนื้อหา ดังนั้นองค์ประกอบ <gutenberg-block> จึงสามารถใช้เพื่อเพิ่มการแปลสื่อได้

นี่คือตัวอย่างการเพิ่มการแปลสื่อสำหรับแอตทริบิวต์ของบล็อก Gutenberg:

<wpml-config>
  <gutenberg-blocks>
        <gutenberg-block type="divi/section" translate="1">
            <key name="module">
                <key name="decoration">
                    <key name="background">
                        <key name="desktop">
                            <key name="value">
                                <key name="image">
                                    <key name="url" type="media-url" />
                                </key>
                            </key>
                        </key>
                    </key>
                </key>
            </key>
        </gutenberg-block>
  </gutenberg-blocks>
</wpml-config>

การแปลวิดเจ็ตของปลั๊กอินสร้างหน้าเว็บ

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

แปลง ID ของ shortcode โดยอัตโนมัติ

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

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

ตัวอย่างเช่น ลองพิจารณา shortcode ต่อไปนี้:

[foo_product_list product_ids="12,34,56"]

คุณสามารถประกาศว่าแอตทริบิวต์ product_ids กำลังเก็บ ID ของโพสต์ด้วยการกำหนดค่าต่อไปนี้:

การประกาศว่าแอตทริบิวต์ product_ids กำลังเก็บ ID ของโพสต์
<shortcode>
    <tag ignore-content="1">foo_product_list</tag>
    <attributes>
        <attribute type="post-ids" sub-type="product">product</attribute>
    </attributes>
</shortcode>

ที่ส่วนหน้า shortcode จะแปลงเป็นสิ่งต่อไปนี้โดยอัตโนมัติ:

[foo_product_list product_ids="13,35,57"]

คุณสามารถใช้แอตทริบิวต์การกำหนดค่าต่อไปนี้:

  • type – เป็น post-ids หรือ taxonomy-ids
  • sub-type (ตัวเลือก) – เอนทิตีเฉพาะของ type หากทราบอยู่แล้ว ตัวอย่างเช่น product สำหรับประเภทโพสต์แบบกำหนดเอง Product ที่มาจาก WooCommerce หากไม่ได้กำหนดไว้ เอนทิตีเฉพาะจะถูกคาดเดา

การแปลง ID นั้นมีความอเนกประสงค์และพยายามปรับให้เข้ากับรูปแบบ ID ที่เป็นไปได้ส่วนใหญ่ (ID เดี่ยว, รายการ ID, อาร์เรย์ที่ทำซีเรียลไลซ์, อาร์เรย์ที่เข้ารหัส JSON)

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

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

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

เขียนโดย Amir · อัปเดตล่าสุด 4 กุมภาพันธ์ 2026