วิธีแปล Contact Form 7 ใน WordPress – แท็กฟอร์ม ข้อความ เทมเพลตเมล
เรียนรู้วิธีแปลทุกส่วนของฟอร์ม Contact Form 7 บนเว็บไซต์ WordPress ของคุณเป็นทุกภาษาที่ผู้เยี่ยมชมของคุณใช้ คู่มือนี้ครอบคลุมทุกแท็กฟอร์ม แท็บ Messages ทั้งหมด เทมเพลตเมลทั้งสองแบบ ข้อความการยอมรับ แท็กแบบทดสอบ ค่าที่เลือกได้ซึ่งคั่นด้วยเครื่องหมายขีด (pipe) และการผสานรวมการส่งข้อมูลที่ Contact Form 7 รองรับ โดยจะแนะนำคุณตลอดเวิร์กโฟลว์ของ Contact Form 7 ที่ใช้ร่วมกับ WPML และส่วนเสริม WPML Multilingual for CF7
ก่อนเริ่มต้น
ติดตั้งและเปิดใช้งานปลั๊กอินเหล่านี้:
- Contact Form 7
- WPML และ WPML การแปลสตริง
- WPML Multilingual for CF7 (ส่วนเสริมที่ครอบคลุมในหน้านี้)
สร้างฟอร์มใน Contact Form 7 ด้วยภาษาต้นทางของเว็บไซต์ (ทุกแท็กฟอร์ม เทมเพลต Mail และ Mail (2) ทุกรายการในแท็บ Messages และ Additional Settings ใด ๆ) ก่อนส่งฟอร์มไปแปล คุณสามารถแก้ไขฟอร์มในภายหลังและส่งไปแปลใหม่ได้หากมีการเปลี่ยนแปลงใด ๆ
แปลทุกอย่างโดยอัตโนมัติจะจัดการเรื่องนี้ให้คุณ
หากเว็บไซต์ของคุณเปิดใช้งาน แปลทุกอย่างโดยอัตโนมัติ คุณไม่จำเป็นต้องส่งฟอร์มไปแปลด้วยตนเอง WPML จะดึงฟอร์มใหม่และฟอร์มที่อัปเดตมาแปลเบื้องหลังพร้อมกับเนื้อหาส่วนอื่น ๆ ของคุณ ขั้นตอนการแทรกลงในหน้าเว็บด้านล่างยังคงต้องทำเช่นเดิม แต่ขั้นตอนส่งฟอร์มไปแปลจะเป็นไปโดยอัตโนมัติ ส่วนที่เหลือของหน้านี้จะอธิบายเส้นทางแบบแมนนวลสำหรับเว็บไซต์ที่อยู่ในโหมด แปลบางส่วน: คุณเลือกสิ่งที่จะแปล (หรือสำหรับฟอร์มที่คุณต้องการแปลก่อนคิวอัตโนมัติ)
ส่งฟอร์มไปแปล
- ไปที่ WPML > การแปล > แดชบอร์ด
- ขยายส่วน Contact Forms
- ทำเครื่องหมายที่ฟอร์มที่คุณต้องการแปล
- เลือกวิธีการแปล: PTC (แนะนำ) นักแปลของคุณ หรือ แปลด้วยตนเอง
- คลิก แปล
เทมเพลตฟอร์ม Mail และ Mail (2) และแท็บ Messages ทั้งหมดจะรวมอยู่ในงานแปลเดียวกัน นักแปลจะเห็นสิ่งเหล่านี้เป็นแถวที่มีป้ายกำกับใน ตัวแก้ไขการแปลขั้นสูง
แทรกฟอร์มลงในหน้าที่แปลแล้วของคุณ
Contact Form 7 จะอยู่ภายในหน้าหรือโพสต์ผ่านชอร์ตโค้ด [contact-form-7] ซึ่งมักสร้างขึ้นจากหน้าจอผู้ดูแล Contact ในรูปแบบ [contact-form-7 id="123" title="My Form"] กฎการแทรกหลายภาษาคือ:
ใช้ชอร์ตโค้ดเดียวกันในทุกเวอร์ชันภาษาของหน้าเว็บ อย่าสร้างฟอร์มแยกต่างหากสำหรับแต่ละภาษา
ขั้นตอนการทำงาน:
- สร้างฟอร์มเพียงครั้งเดียวในภาษาต้นทาง
- ส่งฟอร์มไปแปล (หรือปล่อยให้ แปลทุกอย่างโดยอัตโนมัติ จัดการ)
- แทรกชอร์ตโค้ดในหน้าภาษาต้นทาง
- แปลหน้าเว็บผ่าน WPML > การแปล > แดชบอร์ด ด้วยวิธีเดียวกับที่คุณแปลหน้าอื่น ๆ ชอร์ตโค้ดจะถูกเก็บรักษาไว้ในหน้าที่แปลแล้ว
- เมื่อผู้เยี่ยมชมเปิดหน้าที่แปลแล้ว WPML Multilingual for CF7 จะแสดงฟอร์มในภาษาของผู้เยี่ยมชมโดยอัตโนมัติ – ชอร์ตโค้ดเดียวกัน เนื้อหาที่แปลแล้ว
คุณไม่จำเป็นต้องมี ID ฟอร์มที่แตกต่างกันสำหรับแต่ละภาษา คำแปลจะเชื่อมโยงกับฟอร์มต้นทาง ปลั๊กอินตัวกลางจะเลือกใช้เวอร์ชันภาษาที่ถูกต้องขณะแสดงผลตามภาษาของหน้า
ชอร์ตโค้ดที่อิงตาม ID และอิงตามชื่อต่างก็ใช้งานได้ [contact-form-7 id="123" title="Contact form 1"] ทำงานแบบหลายภาษาได้ทันที [contact-form-7 title="Contact form 1"] (เฉพาะชื่อ ไม่มี ID) ก็แสดงผลเป็นภาษาที่ถูกต้องเช่นกัน การระบุฟอร์มด้วยชื่อเพียงอย่างเดียวเริ่มมีในเวอร์ชัน 1.1.0 (มิถุนายน 2021) ทั้งสองรูปแบบนั้นปลอดภัย
ข้อยกเว้น – เมื่อคุณต้องการฟอร์มที่แตกต่างกันสำหรับแต่ละภาษาจริง ๆ หากคุณต้องการฟอร์มที่มีโครงสร้างแตกต่างกันสำหรับแต่ละภาษา (แท็กฟอร์มต่างกัน เทมเพลต Mail ต่างกัน เนื้อหาแท็บ Messages ต่างกัน) ให้สร้างฟอร์ม Contact Form 7 แยกกัน และแทรกชอร์ตโค้ดของแต่ละฟอร์มในเวอร์ชันภาษาที่ตรงกันของหน้าเว็บโดยใช้ตัวแก้ไข WordPress สำหรับการแปลนั้น นั่นเป็นสถานการณ์เดียวที่ชอร์ตโค้ดจะแตกต่างกันไปในแต่ละภาษา
ข้อควรระวังของเครื่องมือสร้างหน้าเว็บ
หากหน้าเว็บของคุณสร้างขึ้นใน Divi, Elementor หรือเครื่องมือสร้างหน้าเว็บอื่น ๆ ที่มีโมดูลข้อความห่อหุ้มชอร์ตโค้ดไว้ ชอร์ตโค้ดอาจไม่คงอยู่ครบถ้วนหลังการแปลเสมอไป หากหน้าที่แปลแล้วแสดงฟอร์มภาษาต้นทาง ให้เปิดหน้าที่แปลแล้วในเครื่องมือสร้างหน้าเว็บและแทรกชอร์ตโค้ด [contact-form-7] อีกครั้งที่นั่น ตัวแก้ไขบล็อกและตัวแก้ไขแบบคลาสสิกของ WordPress ไม่มีปัญหานี้
ป้ายกำกับแท็กฟอร์มและสตริงที่แสดงต่อผู้เยี่ยมชม
เนื้อหาที่แสดงต่อผู้เยี่ยมชมของแท็กฟอร์มทุกตัวจะได้รับการแปล: ป้ายกำกับ (ข้อความภายนอกแท็กในวงเล็บ) ป้ายกำกับปุ่ม (ค่าใน [submit "Send"]) ข้อความตัวอย่างที่ตั้งค่าผ่านตัวเลือก placeholder และค่าตัวเลือกภายในแท็ก [checkbox] [radio] และ [select]
ประเภทและชื่อของแท็กฟอร์มจะไม่ได้รับการแปล เนื่องจากเป็นตัวระบุ ค่าของแท็กฟอร์ม (ตัวเลือกที่แสดงต่อผู้เยี่ยมชม) จะได้รับการแปล ตัวอย่าง:
[select your-country "China" "India" "San Marino"]
ในการแปลภาษาฝรั่งเศส "China" จะกลายเป็น "Chine" ในขณะที่ your-country (ชื่อแท็กฟอร์ม) และ select (ประเภท) จะยังคงเหมือนเดิม การแทนที่แท็กเมลยังคงทำงานได้เนื่องจากการแปลจะรักษาตำแหน่งของแต่ละค่าไว้
ค่าที่คั่นด้วยเครื่องหมายขีด – แปลป้ายกำกับ รักษาค่าให้คงที่
ไวยากรณ์เครื่องหมายขีด (pipe) ช่วยให้คุณแยกป้ายกำกับที่แสดงต่อผู้เยี่ยมชมออกจากค่าที่ส่งในอีเมล:
[select your-country
"Chinese|CN"
"Indian|IN"
"Sammarinese|SM"]
เมื่อคุณแปลฟอร์มนี้ จะมีเพียงป้ายกำกับ (Chinese Indian Sammarinese) เท่านั้นที่ได้รับการแปล ส่วนค่า (CN IN SM) จะยังคงเป็นค่ามาตรฐาน ผู้เยี่ยมชมชาวฝรั่งเศสจะเห็น Chinois, Indien, Saint-Marinais ในขณะที่เนื้อหาอีเมลและตัวจัดการแบ็กเอนด์ใด ๆ จะยังคงได้รับ CN IN SM ใช้ไวยากรณ์เครื่องหมายขีดในทุกที่ที่คุณต้องการให้ค่าที่ส่งมาคงที่ในทุกภาษา: การแมป CRM รหัส SKU การชำระเงิน และรหัสทางภูมิศาสตร์
แท็กการยอมรับและแบบทดสอบ
ช่องทำเครื่องหมาย Acceptance จะมีข้อความแสดงความยินยอมและมักจะมีลิงก์ฝังตัวอย่างน้อยหนึ่งลิงก์ไปยังหน้าความเป็นส่วนตัวและข้อกำหนด แปลข้อความเป็นแถวเดียวในงานแปล ส่วนปลายทางของลิงก์ ให้แก้ไขแถวที่แปลแล้วเพื่อชี้ไปยังหน้าความเป็นส่วนตัวและข้อกำหนดของแต่ละภาษา
แท็ก Quiz จะแปลทั้งคำถามและคำตอบ ใช้ไวยากรณ์เครื่องหมายขีดสำหรับคำตอบของแบบทดสอบเพื่อให้ตรรกะของคำตอบที่ยอมรับสามารถคาดเดาได้ในทุกภาษา:
[quiz captcha
"1+1=?|2"
"2+3=?|5"]
แท็บ Messages
แท็บ Messages ของ Contact Form 7 มีสตริงการตรวจสอบความถูกต้องที่แก้ไขได้ประมาณ 16 รายการ ซึ่งเป็นสตริงที่ผู้เยี่ยมชมจะเห็นเมื่อส่งข้อมูลและเมื่อเกิดข้อผิดพลาด ทุกรายการจะได้รับการแปลในงานเดียวกัน:
- Thank you for your message. It has been sent.
- One or more fields have an error. Please check and try again.
- There was an error trying to send your message. Please try again later.
- This field is required.
- This e-mail address is invalid.
- The telephone number is invalid.
- The URL is invalid.
- The number is smaller than the minimum allowed.
- The number is larger than the maximum allowed.
- The date format is incorrect.
- The file is too big.
- The file is not supported.
- The Acceptance checkbox is required.
- The answer to the quiz is incorrect.
- (รวมถึงข้อความเริ่มต้นที่เหลือที่ CF7 มีให้)
หากแท็บ Messages ของคุณใช้แท็กเมลเพื่อแทรกข้อมูลที่ป้อน (Thanks [your-name], your message has been sent!) แท็กเมลจะยังคงทำงานได้อย่างถูกต้องหลังจากการแปล
Mail และ Mail (2)
เทมเพลตอีเมลขาออกสองแบบของ Contact Form 7 คือ Mail (การแจ้งเตือนผู้ดูแลระบบ) และ Mail (2) (การตอบกลับเสริมหรือระบบตอบรับอัตโนมัติถึงผู้เยี่ยมชม) จะแปลแยกกัน To, From, Subject, Additional headers, Message body และคำอธิบาย File attachments ทั้งหมดจะอยู่ในงานแปล แท็กเมลภายในเนื้อหาที่แปลแล้ว ([your-name] [your-message] [your-email]) จะทำงานได้อย่างถูกต้อง
สำหรับ Mail (2) เนื้อหาของระบบตอบรับอัตโนมัติที่แสดงต่อผู้เยี่ยมชมคือส่วนที่การแปลมีความสำคัญที่สุด นั่นคือข้อความที่จะส่งไปยังกล่องจดหมายของผู้เยี่ยมชม ส่งข้อมูลทดสอบจากหน้าที่แปลแล้วและยืนยันว่าระบบตอบรับอัตโนมัติส่งมาในภาษาของผู้เยี่ยมชม
การผสานรวมการส่งข้อมูล
Contact Form 7 มีการผสานรวมอยู่ไม่กี่รายการแต่ล้วนสำคัญ แต่ละรายการจะรักษาภาษาของผู้เยี่ยมชมไว้เมื่อกำหนดค่าการแปลแล้ว:
- Flamingo ส่วนเสริมการจัดการการส่งข้อมูลของผู้พัฒนา Contact Form 7 ข้อมูลที่ส่งจะอยู่ใน Contact > Inbound Messages โดยที่หัวข้อและเนื้อหาที่แปลแล้วจะยังคงอยู่ครบถ้วน
- Constant Contact การผสานรวมการตลาดผ่านอีเมลอย่างเป็นทางการของ CF7 ข้อมูลที่ผู้เยี่ยมชมป้อนจะส่งไปยังรายชื่อ Constant Contact ของคุณในภาษาของผู้เยี่ยมชม
- Stripe ฟิลด์แท็กฟอร์ม
[stripe]และข้อความใบเสร็จของ Contact Form 7 จะปรากฏในงานแปลทั้งคู่ - Akismet ข้อความป้องกันสแปมจะแปลผ่าน WPML การแปลสตริง (ไม่ใช่งานแปลฟอร์ม)
- reCAPTCHA ข้อความแสดงข้อผิดพลาดที่แสดงต่อผู้เยี่ยมชมจะแปลผ่าน WPML การแปลสตริง
ข้อผิดพลาดที่พบบ่อย
- การยอมรับที่มีลิงก์ฝังตัวชี้ไปที่หน้าความเป็นส่วนตัวของภาษาที่ไม่ถูกต้อง แก้ไขการแปลการยอมรับใน ตัวแก้ไขการแปลขั้นสูง และตั้งค่าปลายทางของลิงก์สำหรับแต่ละภาษา
- แฮชของชอร์ตโค้ดไม่ตรงกันใน CF7 6.0+ แก้ไขแล้วใน WPML Multilingual for CF7 1.3.2 (พฤศจิกายน 2024) ให้อัปเกรดหากคุณพบปัญหานี้
- คำแปลในแท็บ Messages ไม่ปรากฏขึ้น ยืนยันว่า WPML การแปลสตริง เปิดใช้งานอยู่ และได้ส่งฟอร์มไปแปลใหม่แล้วหลังจากแก้ไขแท็บ Messages
- แท็กเมลภายในการแปลแสดงผลเป็นสตริงว่าง ตรวจสอบว่าชื่อแท็กฟอร์มในแท็กเมล (เช่น
[your-name]) ตรงกับแท็กฟอร์มในฟอร์ม การแปลจะไม่ทำให้แท็กเมลทำงานผิดพลาด แต่การเปลี่ยนชื่อแท็กฟอร์มหลังจากการแปลจะทำให้เกิดปัญหา
เขียนโดย Amir · อัปเดตล่าสุด 2 กรกฎาคม 2026
เขียนโดย Amir · อัปเดตล่าสุด 2 กรกฎาคม 2026