การนำเข้าเนื้อหาหลายภาษาลงใน WordPress – WooCommerce, CSV และ XML
เรียนรู้วิธีนำเข้าเนื้อหาหลายภาษาจำนวนมากลงใน WordPress โดย WPML จะกำหนดภาษาที่ถูกต้องให้กับทุกแถวและเชื่อมโยงคำแปลข้ามภาษา คู่มือนี้ครอบคลุมถึงแคตตาล็อกสินค้า WooCommerce รายการอสังหาริมทรัพย์ ฟีดเหตุการณ์ และการนำเข้าเนื้อหาที่ใช้สเปรดชีตทุกรูปแบบ
การส่งออกและนำเข้าของ WPML ทำงานร่วมกับปลั๊กอินนำเข้าของ WordPress ที่คุณใช้งานอยู่แล้ว ปลั๊กอินนำเข้าจะย้ายข้อมูลของคุณ การส่งออกและนำเข้าของ WPML จะเพิ่มข้อมูลภาษาในขั้นตอนสุดท้าย เพื่อให้แต่ละแถวอยู่ในภาษาที่ถูกต้องและคำแปลแต่ละรายการเชื่อมโยงกับต้นฉบับ
ก่อนที่คุณจะเริ่มต้น
ติดตั้งและเปิดใช้งานปลั๊กอินเหล่านี้บนไซต์ที่คุณกำลังนำเข้าข้อมูล:
- ปลั๊กอินนำเข้า: WP All Import Pro, WP All Export Pro, เครื่องมือนำเข้า CSV ของ WooCommerce หรือ เครื่องมือนำเข้ามาตรฐานของ WordPress
- WPML และ WPML การแปลสตริง
- การส่งออกและนำเข้าของ WPML (ส่วนเสริมที่กล่าวถึงในหน้านี้)
- WPML Multilingual & Multicurrency for WooCommerce หากคุณกำลังนำเข้าสินค้า WooCommerce
บนไซต์ที่นำเข้า ให้ตั้งค่า WPML ด้วยทุกภาษาที่คุณวางแผนจะนำเข้า ภาษาปลายทางต้องมีอยู่แล้วใน WPML → การตั้งค่า → ภาษา ก่อนที่คุณจะเรียกใช้การนำเข้า
สองเส้นทาง – เลือกเส้นทางที่ตรงกับแหล่งข้อมูลของคุณ
มีเส้นทางการนำเข้าสองเส้นทาง ขึ้นอยู่กับว่าข้อมูลหลายภาษามาจากที่ใด:
- ปลั๊กอินนำเข้าที่รองรับ หากคุณกำลังย้ายเนื้อหาออกจากเว็บไซต์ WordPress ที่มีอยู่ด้วย WP All Export Pro (หรือเครื่องมือส่งออกอื่นที่รองรับ) การส่งออกและนำเข้าของ WPML จะอยู่ในไฟล์ส่งออกอยู่แล้ว โดยข้อมูลภาษาจะถูกรวมไว้โดยอัตโนมัติ ข้ามไปที่ขั้นตอน เรียกใช้การนำเข้าของ WPML ด้านล่าง
- CSV หรือ XML ที่กำหนดเอง หากคุณเก็บข้อมูลหลายภาษาไว้ในสเปรดชีตหรือแหล่งข้อมูลของคุณไม่ใช่ระบบ WordPress (PIM, MLS, ERP, แพลตฟอร์มการจอง) คุณจะต้องเพิ่มคอลัมน์ภาษาสามคอลัมน์ลงในไฟล์ของคุณด้วยตนเอง ดำเนินการต่อที่ เตรียม CSV หรือ XML ของคุณ ด้านล่าง
เตรียม CSV หรือ XML ของคุณด้วยคอลัมน์ภาษาสามคอลัมน์
สำหรับการนำเข้าแบบกำหนดเอง ให้เพิ่มสามคอลัมน์ลงในแต่ละแถวของสเปรดชีตของคุณ นี่คือวิธีที่ WPML จับคู่คำแปลเข้าด้วยกันและแท็กแต่ละแถวด้วยภาษาที่ถูกต้อง:
_wpml_import_translation_groupค่าที่ไม่ซ้ำกันซึ่งใช้ร่วมกันในทุกเวอร์ชันภาษาของเนื้อหาหนึ่งชิ้น สำหรับสินค้า ให้ใช้ SKU สำหรับสิ่งอื่น ๆ ทั้งหมด ให้สร้าง ID ของคุณเองและใช้ซ้ำสำหรับแถวต้นฉบับและแต่ละคำแปลของแถวนั้น_wpml_import_language_codeรหัสภาษา ISO สำหรับแถว (enสำหรับภาษาอังกฤษesสำหรับภาษาสเปนfrสำหรับภาษาฝรั่งเศสpt-ptสำหรับภาษาโปรตุเกสแบบยุโรป และอื่น ๆ)_wpml_import_source_language_codeเฉพาะในแถวคำแปลเท่านั้น เป็นรหัสภาษาของต้นฉบับ ปล่อยว่างไว้สำหรับแถวภาษาต้นทาง
สำหรับ WP All Import Pro และเครื่องมือที่คล้ายกัน ให้เตรียมสเปรดชีตสองไฟล์: ไฟล์หนึ่งสำหรับอนุกรมวิธาน (หมวดหมู่ แท็ก หมวดหมู่สินค้า) และอีกไฟล์สำหรับโพสต์และสินค้า เครื่องมือนำเข้า CSV ของ WooCommerce ใช้สเปรดชีตเพียงไฟล์เดียวเนื่องจากหมวดหมู่สินค้าอยู่ในแถวของสินค้า
แอตทริบิวต์ WooCommerce ที่กำหนดเองสำหรับสินค้าที่มีหลายรูปแบบ
หากคุณมีสินค้าที่มีหลายรูปแบบพร้อมแอตทริบิวต์ที่กำหนดเอง ให้เพิ่มคอลัมน์ที่สี่ลงในแถวสินค้าที่แปลแล้ว: _wpml_import_wc_local_attribute_labels ค่านี้เป็นออบเจ็กต์ JSON ของคู่ slug:translation สำหรับสินค้าที่มีหลายรูปแบบภาษาฝรั่งเศสซึ่งมีแอตทริบิวต์ Size และ Color:
{"size":"Taille","color":"Couleur"}
slug คือชื่อแอตทริบิวต์ตัวพิมพ์เล็กโดยแทนที่ช่องว่างด้วยเครื่องหมายขีดกลาง
ลำดับการนำเข้า
ให้นำเข้าอนุกรมวิธานก่อนเสมอเมื่อคุณมีไฟล์แยกต่างหากสำหรับข้อมูลเหล่านั้น หมวดหมู่ แท็ก และอนุกรมวิธานอื่น ๆ จำเป็นต้องมีอยู่ก่อนที่โพสต์และสินค้าจะสามารถอ้างอิงถึงได้ จากนั้นจึงนำเข้าโพสต์ หน้า สินค้า และประเภทเนื้อหาอื่น ๆ
หากคุณแยกข้อมูลออกเป็นหนึ่งไฟล์ต่อภาษา ให้นำเข้าไฟล์ทุกภาษาก่อนที่จะเรียกใช้ขั้นตอนการเชื่อมโยงของ WPML
แมปคอลัมน์ภาษาในปลั๊กอินนำเข้าของคุณ
ปลั๊กอินนำเข้าแต่ละตัวจะจัดการคอลัมน์ที่กำหนดเองในแบบของตัวเอง ขั้นตอนที่สำคัญคือการแมปคอลัมน์ WPML ทั้งสามคอลัมน์กับฟิลด์ที่กำหนดเอง (หรือ Term Meta สำหรับอนุกรมวิธาน) ใน WP All Import Pro สิ่งนี้จะเกิดขึ้นใน Step 3 ของตัวช่วยสร้างการนำเข้า:
- สำหรับโพสต์และสินค้า เปิด ฟิลด์ที่กำหนดเอง เพิ่มสามฟิลด์ ลากคอลัมน์ภาษาไปยังกล่อง Value และใช้ชื่อคอลัมน์ที่ไม่มีวงเล็บในกล่อง Name
- สำหรับอนุกรมวิธาน เปิด Term Meta เพิ่มฟิลด์ Term Meta สามฟิลด์ และแมปคอลัมน์ภาษาด้วยวิธีเดียวกัน
หากไม่ได้แมปคอลัมน์ WPML จะไม่มีข้อมูลให้อ่านเมื่อคุณเรียกใช้ขั้นตอนการเชื่อมโยง
สิ่งที่คุณจะเห็นระหว่างการนำเข้าและขั้นตอนการเชื่อมโยง
จนกว่าคุณจะเรียกใช้การส่งออกและนำเข้าของ WPML เนื้อหาที่นำเข้าทั้งหมดจะอยู่ภายใต้ภาษาเริ่มต้นของคุณ และ WPML จะเก็บโพสต์และสินค้าไว้ในสถานะ ฉบับร่าง โดยอัตโนมัติเพื่อป้องกันไม่ให้เนื้อหาที่มีภาษาปะปนกันแสดงบนส่วนหน้าเว็บไซต์ นี่คือสถานะชั่วคราวที่คาดไว้ ไม่ใช่สัญญาณของการนำเข้าที่ล้มเหลว
สำหรับปลั๊กอินนำเข้าที่ไม่รองรับ คุณจะต้องเผยแพร่โพสต์ด้วยตนเองหลังจากขั้นตอนการเชื่อมโยงเสร็จสิ้น
เรียกใช้การนำเข้าของ WPML
เมื่อปลั๊กอินนำเข้าทำงานเสร็จแล้ว:
- เปิด WPML → การส่งออกและนำเข้าของ WPML ในหน้าจัดการเว็บไซต์ WordPress
- คลิก เรียกใช้การนำเข้าของ WPML
WPML จะอ่านคอลัมน์ภาษาของแต่ละแถว กำหนดภาษาให้กับแถวนั้น และเชื่อมโยงคำแปลไปยังต้นฉบับ สำหรับแคตตาล็อกขนาดใหญ่ ขั้นตอนนี้อาจใช้เวลาหลายนาที เมื่อเสร็จสิ้น เนื้อหาที่นำเข้าของคุณจะได้รับการเผยแพร่ในภาษาที่ถูกต้องโดยที่ทุกคำแปลเชื่อมต่อกับต้นฉบับ
สุ่มตรวจสอบที่ระบบหลังบ้านและส่วนหน้าเว็บไซต์:
- เปิดรายการประเภทโพสต์หรือสินค้า – ยืนยันว่าแต่ละแถวแสดงอยู่ภายใต้ธงภาษาที่ถูกต้อง
- ไปที่ส่วนหน้าเว็บไซต์และสลับภาษา – หน้าที่แปลแล้วแต่ละหน้าควรโหลดเวอร์ชันที่แปลแล้ว ไม่ใช่กลับไปใช้ภาษาต้นทาง
หากคำแปลอนุกรมวิธานไม่เชื่อมโยงกัน ให้เปิดคำนั้นในหน้าจัดการเว็บไซต์ WordPress และใช้กล่องภาษาของคำนั้นเพื่อเชื่อมต่อกับคำในภาษาเริ่มต้น
ทำให้เป็นอัตโนมัติ – เรียกใช้การนำเข้าของ WPML หลังจากการนำเข้าตามกำหนดเวลาทุกครั้ง
สำหรับการซิงค์รายคืน ฟีดซัพพลายเออร์ หรือการนำเข้าตามกำหนดเวลาใด ๆ ขั้นตอนการเชื่อมโยงของ WPML สามารถทำงานโดยอัตโนมัติได้ทันทีหลังจากที่ปลั๊กอินนำเข้าทำงานเสร็จสิ้น มีสามวิธีในการเชื่อมโยงสิ่งนี้:
ตัวเลือกที่ 1 – POST Endpoint (สำหรับการนำเข้าที่ขับเคลื่อนด้วย Cron เช่น WP All Import Scheduled Actions)
นี่คือวิธีที่แนะนำ ให้เพิ่มคีย์ลับที่คาดเดายากลงใน wp-config.php:
define( 'WPML_IMPORT_KEY', 'your-strong-secret-key-here' );
จากนั้นเพิ่มคำสั่งที่สองลงในการตั้งค่าการนำเข้าตามกำหนดเวลาของคุณ ซึ่งจะส่งคำขอ POST ไปยังไซต์ของคุณและส่งผ่านคีย์ในเนื้อหาคำขอ:
curl -X POST https://yoursite.com/ \
-d 'wpml_import_trigger=your-strong-secret-key-here'
การเรียกใช้แบบเดียวกันด้วย wget:
wget -q -O - \
--post-data='wpml_import_trigger=your-strong-secret-key-here' \
https://yoursite.com/
สำหรับการกำหนดเวลาด้วยตนเองของ WP All Import Pro ให้เพิ่มคำสั่งใดคำสั่งหนึ่งทันทีหลังจากคำสั่งนำเข้า
เมื่อขั้นตอนการเชื่อมโยงทำงาน ไซต์ของคุณจะตอบกลับด้วยสถานะ 200 และข้อความนี้:
Import process completed
มีคำตอบอีกสองแบบที่บอกคุณว่าเกิดอะไรขึ้น: 401 หมายความว่าคีย์ไม่ตรงกัน และ 204 หมายความว่าไม่มีอะไรเหลือให้ประมวลผล
ตัวเลือกที่ 2 – URL Endpoint (เลิกใช้งานแล้ว)
ก่อนการส่งออกและนำเข้าของ WPML 1.2.0 คุณต้องส่งผ่านคีย์ใน URL:
https://yoursite.com/?wpml_import_trigger=your-strong-secret-key-here
URL นี้ยังคงใช้งานได้ ดังนั้น cron job ปัจจุบันของคุณจะยังคงทำงานต่อไป อย่างไรก็ตาม วิธีนี้ถูกเลิกใช้งานแล้ว และ WPML จะลบออกในเวอร์ชันหลักถัดไป
เหตุผลคือเรื่องของคีย์ URL จะเดินทางผ่านบันทึกของเซิร์ฟเวอร์ ประวัติเบราว์เซอร์ และการวิเคราะห์ ซึ่งคีย์ของคุณก็จะเดินทางไปด้วย คำขอ POST จะเก็บคีย์ไว้ในเนื้อหาคำขอ โปรดย้ายการนำเข้าตามกำหนดเวลาของคุณไปใช้การเรียก POST ในตัวเลือกที่ 1
ตัวเลือกที่ 3 – Action Hook (สำหรับการนำเข้าที่กำหนดเวลาด้วย PHP)
หากคุณกำลังกำหนดเวลาการนำเข้าจาก PHP ด้วย Action Scheduler หรือ wp_schedule_single_event ให้ทริกเกอร์ขั้นตอนของ WPML ด้วยการเรียกใช้ Action หนึ่งครั้ง:
do_action( 'wpml_import_process' );
หากต้องการเรียกใช้เป็นงานพื้นหลังแบบครั้งเดียวทันทีหลังจากการดำเนินการนำเข้าของคุณ:
wp_schedule_single_event( time(), 'wpml_import_process' );
หากมีสิ่งใดล้มเหลวในเส้นทางเหล่านี้ ให้เปิด WP_DEBUG_LOG ใน wp-config.php เพื่อบันทึกข้อผิดพลาดในบันทึกข้อผิดพลาดของ PHP
เรียกใช้การนำเข้าของ WPML จากบรรทัดคำสั่ง
สำหรับสคริปต์การปรับใช้ การสร้างคอนเทนเนอร์ หรือไปป์ไลน์ใด ๆ ที่ไม่มี UI ของผู้ดูแลระบบ ให้เรียกใช้ขั้นตอนการเชื่อมโยงจาก WP-CLI:
wp wpml import process
คำสั่งจะรายงานจำนวนคำแปลที่เชื่อมต่อกัน ซึ่งสามารถใช้แทนปุ่ม เรียกใช้การนำเข้าของ WPML ได้ทันที
ข้อผิดพลาดที่พบบ่อย
- ไฟล์นำเข้าไม่มีคอลัมน์ภาษาสามคอลัมน์ เนื้อหาจะถูกนำเข้าแต่จะกลายเป็นแถวภาษาต้นทางที่ไม่ได้แท็ก เรียกใช้การนำเข้าของ WPML จะไม่มีข้อมูลให้เชื่อมโยง วิธีแก้ไข: เพิ่มคอลัมน์ลงในข้อมูลต้นฉบับของคุณ ส่งออกใหม่ และนำเข้าใหม่
- ข้ามการแมป ฟิลด์ที่กำหนดเอง / Term Meta ของ WP All Import จะมีลักษณะเดียวกับคอลัมน์ที่หายไป ข้อมูลอยู่ในไฟล์แต่ปลั๊กอินนำเข้าไม่ได้จัดเก็บไว้ในโพสต์ ให้เรียกใช้การนำเข้าใหม่โดยแมปฟิลด์ให้เรียบร้อย
- ไม่ได้ตั้งค่าภาษาปลายทางบนไซต์ที่นำเข้า แถวที่นำเข้าสำหรับภาษาที่ไม่ได้กำหนดค่าจะอยู่ในภาษาเริ่มต้น ให้เพิ่มภาษาที่หายไปที่ WPML → การตั้งค่า → ภาษา ก่อน แล้วจึงเรียกใช้ใหม่
- ปลั๊กอินนำเข้าที่ไม่รองรับ โพสต์ที่นำเข้าจะยังคงอยู่ในสถานะฉบับร่างหลังจากขั้นตอนการเชื่อมโยง ให้เผยแพร่ด้วยตนเอง หรือเปลี่ยนไปใช้ปลั๊กอินที่รองรับ
- สคริปต์นำเข้าที่สร้างขึ้นเองซึ่งไม่ส่งผ่านข้อมูลภาษา วิธีแก้ไขอยู่ที่ระดับสคริปต์ คอลัมน์ภาษาสามคอลัมน์ (และคอลัมน์แอตทริบิวต์ WooCommerce หากมี) จะต้องไปถึงแถว
หากการนำเข้ายังคงพบปัญหาเดิม ทีมสนับสนุนของ WPML พร้อมตอบคำถามเกี่ยวกับการนำเข้าตลอด 24 ชั่วโมงทุกวัน
หากคุณกำลังมองหาปลั๊กอิน WPML All Import
WPML All Import เป็นปลั๊กอินรุ่นเก่าที่มีมาก่อน การส่งออกและนำเข้าของ WPML ซึ่งไม่ได้รับการสนับสนุนหรือแนะนำอีกต่อไป ขั้นตอนข้างต้นเป็นวิธีที่ทันสมัยในการนำเข้าเนื้อหาหลายภาษาลงในเว็บไซต์ WordPress – โปรดใช้วิธีนี้แทนขั้นตอนการทำงานใด ๆ ที่อธิบายไว้ในเอกสารประกอบของปลั๊กอินเก่า
เขียนโดย Amir · อัปเดตล่าสุด 2 กรกฎาคม 2026
เขียนโดย Amir · อัปเดตล่าสุด 2 กรกฎาคม 2026