วิธีนำเข้าเนื้อหาหลายภาษาลงใน WordPress – WooCommerce, CSV และ XML
เรียนรู้วิธีนำเข้าเนื้อหาหลายภาษาจำนวนมากลงใน WordPress โดยใช้ปลั๊กอินการส่งออกและนำเข้าของ WPML WPML จะกำหนดภาษาที่ถูกต้องให้กับทุกแถว ทั้งโพสต์ หน้า ประเภทโพสต์แบบกำหนดเอง อนุกรมวิธาน สินค้า WooCommerce และรูปแบบสินค้า และเชื่อมโยงคำแปลในทุกภาษาเข้าด้วยกัน โดยสามารถทำงานร่วมกับแหล่งข้อมูลใดก็ได้ ไม่ว่าจะเป็นเว็บไซต์ WordPress อื่น สเปรดชีต หรือระบบภายนอก เช่น PIM หรือแพลตฟอร์มการจอง
บทนำ
ทำไมต้องใช้ปลั๊กอินนี้
การส่งออกและนำเข้าของ WPML ทำงานควบคู่กับปลั๊กอินการนำเข้าของ WordPress ที่คุณใช้งานอยู่แล้ว ปลั๊กอินการนำเข้าจะย้ายข้อมูลของคุณ ส่วนการส่งออกและนำเข้าของ WPML จะเพิ่มข้อมูลภาษาในขั้นตอนสุดท้าย เพื่อให้แต่ละแถวอยู่ในภาษาที่ถูกต้องและคำแปลแต่ละรายการเชื่อมโยงไปยังต้นฉบับ
การทำงานร่วมกับระบบอื่น
การส่งออกและนำเข้าของ WPML ทำงานร่วมกับเครื่องมือส่งออกและนำเข้าเหล่านี้:
- WP All Export Pro และ WP All Import Pro – ส่งออกจากเว็บไซต์ WordPress โดยรวมข้อมูลภาษาไว้โดยอัตโนมัติ และนำเข้าโพสต์ สินค้า และอนุกรมวิธานจาก CSV หรือ XML
- เครื่องมือส่งออก/นำเข้าที่มาพร้อมกับ WooCommerce (สินค้าส่งออก และ สินค้านำเข้า) – ย้ายสินค้าผ่านไฟล์ CSV ไฟล์เดียว โดยรวมข้อมูลภาษาไว้ในการส่งออก
- เครื่องมือส่งออก/นำเข้าที่มาพร้อมกับ WordPress – ย้ายโพสต์ หน้า และประเภทโพสต์แบบกำหนดเองผ่านไฟล์ WXR
- ปลั๊กอิน WP Import Export
- ไปป์ไลน์ CSV หรือ XML ที่กำหนดเอง – เครื่องมือใด ๆ ที่สามารถเพิ่มคอลัมน์ภาษาลงในแถวได้
ระบบเดิม – ปลั๊กอิน WPML All Import
WPML All Import เป็นปลั๊กอินรุ่นเก่าที่มีมาก่อนการส่งออกและนำเข้าของ WPML ปลั๊กอินนี้ไม่ได้รับการสนับสนุนและไม่แนะนำให้ใช้งานอีกต่อไป ขั้นตอนในหน้านี้เป็นวิธีที่ทันสมัยที่สุดในการนำเข้าเนื้อหาหลายภาษาลงในเว็บไซต์ WordPress โปรดใช้วิธีนี้แทนขั้นตอนการทำงานใด ๆ ที่อธิบายไว้ในเอกสารกำกับของปลั๊กอินรุ่นเก่า
ส่งออก – รับไฟล์นำเข้าของคุณ
ทุกสิ่งที่คุณนำเข้าเริ่มต้นจากไฟล์ มีสองวิธีในการรับไฟล์:
- ส่งออกจากเว็บไซต์ WordPress ใช้เครื่องมือส่งออกที่รองรับ แล้วข้อมูลภาษาจะถูกแนบมาด้วยโดยอัตโนมัติ
- เตรียมไฟล์ด้วยตัวเอง ข้อมูลของคุณอยู่ในสเปรดชีตหรือระบบภายนอก (PIM, MLS, ERP, แพลตฟอร์มการจอง) และคุณเพิ่มคอลัมน์ภาษาลงในไฟล์ด้วยตนเอง – ดูที่ เตรียมไฟล์ของคุณเอง ในส่วนการนำเข้า
การกำหนดค่า
เมื่อคุณส่งออกจากเว็บไซต์ WordPress ให้ติดตั้งและเปิดใช้งานปลั๊กอินเหล่านี้บนเว็บไซต์:
- WP All Export Pro (หรือเครื่องมือส่งออกอื่นที่รองรับ)
- การส่งออกและนำเข้าของ WPML – จะเพิ่มข้อมูลภาษาลงในทุกแถวที่ส่งออก
เมื่อคุณเตรียมไฟล์ด้วยตัวเอง คุณไม่จำเป็นต้องติดตั้งอะไรเพิ่มเติม งานทั้งหมดจะอยู่ในไฟล์นั้นเอง
รันการส่งออก
ส่งออกเนื้อหา WordPress ของคุณด้วยเครื่องมือส่งออกที่คุณเลือก เมื่อเปิดใช้งานการส่งออกและนำเข้าของ WPML ไฟล์ส่งออกจะมีคอลัมน์ภาษาสำหรับทุกแถวอยู่แล้ว คุณไม่จำเป็นต้องเพิ่มอะไรด้วยตนเอง ดำเนินการต่อในส่วนการนำเข้า
นำเข้า – นำข้อมูลเข้าสู่ระบบ
การกำหนดค่า
ติดตั้งและเปิดใช้งานปลั๊กอินเหล่านี้บนเว็บไซต์ที่คุณกำลังนำเข้าข้อมูล:
- ปลั๊กอินการนำเข้า: WP All Import Pro, เครื่องมือการนำเข้าที่มาพร้อมกับ WooCommerce, เครื่องมือนำเข้าที่มาพร้อมกับ WordPress หรือ WP Import Export
- WPML และ WPML การแปลสตริง
- การส่งออกและนำเข้าของ WPML (ส่วนเสริมที่หน้านี้ครอบคลุม)
- WPML Multilingual & Multicurrency for WooCommerce หากคุณกำลังนำเข้าสินค้า WooCommerce
ตั้งค่า WPML ด้วยทุกภาษาที่คุณวางแผนจะนำเข้า ภาษาปลายทางต้องมีอยู่แล้วใน WPMLการตั้งค่าภาษา ก่อนที่คุณจะรันการนำเข้า
วิซาร์ดการนำเข้าครั้งแรก
ครั้งแรกที่คุณเปิด WPMLการส่งออกและนำเข้า วิซาร์ดสั้น ๆ จะถามว่าคุณกำลังส่งออกเนื้อหาจากไซต์นี้หรือจากเว็บไซต์หรือระบบอื่น

เมื่อคุณส่งออกจากไซต์นี้ วิซาร์ดจะถามด้วยว่าคุณใช้เครื่องมือใด – เครื่องมือส่งออก/นำเข้าที่มาพร้อมกับ WordPress หรือ WooCommerce, WP All Export และ WP All Import, WP Import Export หรือวิธีการอื่น

ตามคำตอบของคุณ หน้าเว็บจะแสดงคำแนะนำสามขั้นตอนที่ปรับให้เหมาะกับการตั้งค่าของคุณ: วิธีที่เนื้อหาของคุณได้รับคอลัมน์ภาษา (โดยอัตโนมัติสำหรับเครื่องมือที่รองรับ หรือด้วยตนเองสำหรับเครื่องมืออื่น), การนำเข้าเอง และการแจ้งเตือนให้กลับมารัน WPML Import เมื่อตรวจพบเนื้อหาที่นำเข้าพร้อมข้อมูลภาษา หน้าเว็บจะรายงานจำนวนโพสต์และคำศัพท์ที่รออยู่ และแสดงปุ่ม Run WPML Import

ไม่มีอะไรต้องกำหนดค่าเพิ่มเติม หน้าเว็บนี้คืออินเทอร์เฟซทั้งหมดของปลั๊กอิน
เตรียมไฟล์ของคุณเอง – สเปรดชีตและระบบภายนอก
เพิ่มสามคอลัมน์ลงในแต่ละแถวของไฟล์ของคุณ นี่คือวิธีที่ WPML จับคู่คำแปลเข้าด้วยกันและแท็กแต่ละแถวด้วยภาษาที่ถูกต้อง:
_wpml_import_translation_group. ค่าที่ไม่ซ้ำกันซึ่งใช้ร่วมกันในทุกเวอร์ชันภาษาของเนื้อหาหนึ่งรายการ สำหรับสินค้า ให้ใช้ SKU สำหรับเนื้อหาอื่น ๆ ให้สร้าง ID ของคุณเองและใช้ซ้ำสำหรับแถวต้นฉบับและคำแปลแต่ละรายการ_wpml_import_language_code. รหัสภาษา ISO สำหรับแถว (enสำหรับภาษาอังกฤษ,esสำหรับภาษาสเปน,frสำหรับภาษาฝรั่งเศส,pt-ptสำหรับภาษาโปรตุเกสแบบยุโรป และอื่น ๆ)_wpml_import_source_language_code. เฉพาะในแถวคำแปลเท่านั้น คือรหัสภาษาของต้นฉบับ เว้นว่างไว้สำหรับแถวภาษาต้นทาง
ใช้ค่ากลุ่มการแปลแต่ละค่าสำหรับเนื้อหาเพียงรายการเดียวเท่านั้น WPML จะเก็บกลุ่มของทุกรายการที่เชื่อมต่อไว้ แม้หลังจากการนำเข้าแล้ว แถวที่คุณนำเข้าในภายหลังด้วยค่ากลุ่มเดียวกันจะเข้าร่วมกับคำแปลของรายการนั้น
มีอีกสองคอลัมน์ที่เป็นทางเลือกในแถวโพสต์และสินค้า:
_wpml_import_after_process_post_status. สถานะที่โพสต์ได้รับหลังจาก Run WPML Import ใช้ชื่อสถานะของ WordPress:publish,draft,pendingหรือprivateให้เขียนpublishไม่ใช่published_wpml_import_tea. ตั้งค่าเป็น1ในแถวต้นฉบับเพื่อส่งรายการนั้นไปยังการแปลอัตโนมัติ คอลัมน์นี้จะทำงานก็ต่อเมื่อเปิดโหมดแปลทุกอย่างโดยอัตโนมัติของ WPML ไว้ – ดูที่ แปลเนื้อหาที่นำเข้าโดยอัตโนมัติ
ให้ผู้ช่วย AI เตรียมไฟล์
คุณไม่จำเป็นต้องเพิ่มคอลัมน์เหล่านี้ด้วยตนเอง มอบไฟล์ CSV หรือไฟล์ส่งออกของคุณให้กับผู้ช่วย AI พร้อมกับคำสั่งเช่น: "เพิ่มคอลัมน์การนำเข้าของ WPML _wpml_import_translation_group, _wpml_import_language_code และ _wpml_import_source_language_code ลงในไฟล์นี้ แถวภาษาอังกฤษคือต้นฉบับ จับคู่คำแปลแต่ละรายการกับต้นฉบับด้วย SKU" ผู้ช่วยจะเติมข้อมูลทั้งสามคอลัมน์ในเวลาไม่กี่วินาที ตรวจสอบข้อมูลสองสามแถวก่อนนำเข้า
นี่คือตัวอย่างการทำงานสำหรับโพสต์บล็อก ไฟล์มีคอลัมน์ language และคอลัมน์ original ที่มีชื่อของโพสต์ภาษาอังกฤษที่แถวนั้นแปลมา:
title,content,language,original
Summer Sale,Our summer sale starts on June 1.,English,
Soldes d'été,Nos soldes commencent le 1er juin.,French,Summer Sale
คำสั่งสำหรับไฟล์นี้:
เพิ่มคอลัมน์ _wpml_import_translation_group, _wpml_import_language_code และ _wpml_import_source_language_code ลงในไฟล์ CSV นี้ แถวภาษาอังกฤษคือต้นฉบับ สำหรับแต่ละแถวภาษาอังกฤษ ให้สร้าง ID สั้น ๆ จากชื่อเรื่องและใช้เป็นกลุ่มการแปล กำหนดกลุ่มของแถวภาษาอังกฤษที่คอลัมน์ต้นฉบับระบุให้กับคำแปลแต่ละรายการ ใช้รหัสภาษา en และ fr เว้นภาษาต้นทางให้ว่างไว้ในแถวภาษาอังกฤษ และตั้งค่าเป็น en ในคำแปล
ผลลัพธ์ที่ได้ พร้อมเนื้อหาที่ถูกย่อให้สั้นลง:
title,content,language,original,_wpml_import_translation_group,_wpml_import_language_code,_wpml_import_source_language_code
Summer Sale,...,English,,summer-sale,en,
Soldes d'été,...,French,Summer Sale,summer-sale,fr,en
สำหรับ WP All Import Pro และเครื่องมือที่คล้ายกัน ให้เตรียมสเปรดชีตสองไฟล์: ไฟล์หนึ่งสำหรับอนุกรมวิธาน (หมวดหมู่, แท็ก, หมวดหมู่สินค้า) และอีกไฟล์หนึ่งสำหรับโพสต์และสินค้า เครื่องมือนำเข้าที่มาพร้อมกับ WooCommerce จะใช้สเปรดชีตเพียงไฟล์เดียว เนื่องจากหมวดหมู่สินค้าอยู่ในแถวของสินค้า
แอตทริบิวต์ WooCommerce ที่กำหนดเองสำหรับรูปแบบสินค้า
หากคุณมีรูปแบบสินค้าที่มีแอตทริบิวต์กำหนดเอง ให้เพิ่มคอลัมน์พิเศษลงในแถวสินค้าที่แปลแล้ว: _wpml_import_wc_local_attribute_labels ค่าที่ใส่จะเป็นออบเจ็กต์ JSON ของคู่ slug:translation สำหรับรูปแบบสินค้าภาษาฝรั่งเศสที่มีแอตทริบิวต์ Size และ Color:
{"size":"Taille","color":"Couleur"}
สลักคือชื่อแอตทริบิวต์ที่เป็นตัวพิมพ์เล็ก โดยแทนที่ช่องว่างด้วยเครื่องหมายขีดกลาง
นำเข้าอนุกรมวิธานก่อน แล้วจึงนำเข้าโพสต์
เมื่อคุณมีไฟล์แยกต่างหากสำหรับอนุกรมวิธาน ให้นำเข้าไฟล์นั้นก่อนเสมอ หมวดหมู่ แท็ก และอนุกรมวิธานอื่น ๆ จำเป็นต้องมีอยู่ก่อนที่โพสต์และสินค้าจะสามารถอ้างอิงถึงได้ จากนั้นจึงนำเข้าโพสต์ หน้า สินค้า และประเภทเนื้อหาอื่น ๆ
หากคุณแบ่งข้อมูลออกเป็นหนึ่งไฟล์ต่อภาษา ให้นำเข้าไฟล์ทุกภาษาก่อนที่จะรันขั้นตอนการเชื่อมโยงของ WPML
คุณจะรัน WPML Import เพียงครั้งเดียว หลังจากนำเข้าทุกอย่างเรียบร้อยแล้ว ขั้นตอนการเชื่อมโยงจะประมวลผลอนุกรมวิธานก่อนโพสต์ จากนั้นจะเชื่อมต่อแต่ละโพสต์เข้ากับคำศัพท์ในภาษาของตนเองอีกครั้ง ดังนั้นโพสต์ที่ถูกนำเข้าในขณะที่คำศัพท์ยังไม่ได้เชื่อมโยง จะแสดงผลโดยแนบกับคำศัพท์ในภาษาที่ถูกต้อง
จับคู่คอลัมน์ภาษาในปลั๊กอินการนำเข้าของคุณ
ปลั๊กอินการนำเข้าแต่ละตัวจัดการคอลัมน์ที่กำหนดเองในแบบของตัวเอง ขั้นตอนสำคัญคือการจับคู่คอลัมน์ของ WPML ทั้งสามคอลัมน์เข้ากับฟิลด์ที่กำหนดเอง (หรือ Term Meta สำหรับอนุกรมวิธาน) ใน WP All Import Pro ขั้นตอนนี้จะเกิดขึ้นในขั้นตอนที่ 3 ของวิซาร์ดการนำเข้า:
- สำหรับโพสต์และสินค้า เปิด ฟิลด์ที่กำหนดเอง เพิ่มสามฟิลด์ ลากคอลัมน์ภาษาไปยังช่อง Value และใช้ชื่อคอลัมน์โดยไม่มีวงเล็บในช่อง Name
- สำหรับอนุกรมวิธาน เปิด Term Meta เพิ่มฟิลด์ Term Meta สามฟิลด์ และจับคู่คอลัมน์ภาษาด้วยวิธีเดียวกัน

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

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


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

หากการแปลอนุกรมวิธานไม่เชื่อมโยงกัน ให้เปิดคำศัพท์นั้นในหน้าจัดการเว็บไซต์ของ WordPress และใช้กล่องภาษาของคำศัพท์เพื่อเชื่อมต่อเข้ากับคำศัพท์ในภาษาเริ่มต้น
สิ่งที่ WPML Import ไม่ครอบคลุม
WPML Import จะกำหนดภาษาของแต่ละรายการและเชื่อมต่อคำแปล แต่จะไม่เปลี่ยนแปลงเนื้อหาอื่น ๆ โปรดตรวจสอบสิ่งเหล่านี้หลังจากการนำเข้า:
- หน้าหลัก เมนู และโพสต์ปักหมุด WPML จะไม่ปรับหน้าหลักของหน้าที่แปลแล้ว ไม่เพิ่มรายการที่นำเข้าลงในเมนู และไม่คัดลอกการตั้งค่าปักหมุดระหว่างภาษา
- ลิงก์และ ID รูปภาพภายในเนื้อหา WPML จะไม่เปลี่ยนแปลงลิงก์ ID รูปภาพ หรือฟิลด์รูปภาพภายในเนื้อหาที่นำเข้า ให้แก้ไขสิ่งเหล่านี้ในคำแปล
- ฟิลด์ที่คัดลอก WPML Import จะเชื่อมต่อคำแปล แต่จะไม่คัดลอกฟิลด์ต่าง ๆ เช่น ราคาหรือสต็อกจากต้นฉบับไปยังคำแปล หากต้องการคัดลอกหลังจากการนำเข้าเพื่ออัปเดต ให้เปิดต้นฉบับแล้วบันทึกอีกครั้ง
- WooCommerce Bookings สินค้าที่จองได้จะถูกนำเข้าโดยไม่มีประเภทบุคคล (เด็ก ผู้ใหญ่ ฯลฯ) และทรัพยากร ให้เพิ่มประเภทบุคคลและทรัพยากรลงในสินค้าที่แปลแล้วหลังจากการนำเข้า
ตั้งค่าอัตโนมัติ – รัน WPML Import โดยไม่ต้องคลิก
สำหรับการซิงค์ข้อมูลรายคืน ฟีดจากซัพพลายเออร์ ไปป์ไลน์การปรับใช้ระบบ หรือการนำเข้าตามกำหนดเวลาใด ๆ ขั้นตอนการเชื่อมโยงของ WPML สามารถทำงานได้โดยไม่ต้องใช้ UI ผู้ดูแลระบบ มีสามวิธีในการเชื่อมโยงสิ่งนี้:
ตำแหน่งข้อมูล POST (สำหรับการนำเข้าที่ขับเคลื่อนด้วย 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 หมายความว่าไม่มีอะไรเหลือให้ประมวลผล
ตำแหน่งข้อมูล URL เดิม – ลบออกในเวอร์ชัน 5.0.0
ก่อนการส่งออกและนำเข้าของ WPML เวอร์ชัน 1.2.0 คุณจะส่งผ่านคีย์ใน URL:
https://yoursite.com/?wpml_import_trigger=your-strong-secret-key-here
ตั้งแต่การส่งออกและนำเข้าของ WPML เวอร์ชัน 5.0.0 URL นี้จะไม่ใช้รันการนำเข้าอีกต่อไป คำขอที่มีคีย์ใน URL จะได้รับสถานะ 405 โปรดย้ายการนำเข้าตามกำหนดเวลาของคุณไปยังการเรียกใช้ POST ด้านบน
เหตุผลก็คือเรื่องของคีย์ URL จะเดินทางผ่านบันทึกของเซิร์ฟเวอร์ ประวัติเบราว์เซอร์ และระบบวิเคราะห์ข้อมูล ซึ่งคีย์ของคุณก็จะเดินทางไปพร้อมกับสิ่งเหล่านั้นด้วย ส่วนคำขอ POST จะเก็บคีย์ไว้ในเนื้อหาคำขอ
ฮุกการดำเนินการ (สำหรับการนำเข้าที่ตั้งเวลาด้วย PHP)
หากคุณกำลังตั้งเวลาการนำเข้าจาก PHP ด้วย Action Scheduler หรือ wp_schedule_single_event ให้ทริกเกอร์ขั้นตอนของ WPML ด้วยการเรียกใช้การดำเนินการเดียว:
do_action( 'wpml_import_process' );
หากต้องการรันเป็นงานพื้นหลังแบบครั้งเดียวทันทีหลังจากการดำเนินการนำเข้าของคุณ:
wp_schedule_single_event( time(), 'wpml_import_process' );
หากการนำเข้าไม่เสร็จสมบูรณ์ โปรดดู การดีบัก WPML
WP-CLI
สำหรับสคริปต์การปรับใช้ระบบ การสร้างคอนเทนเนอร์ หรือไปป์ไลน์ใด ๆ ที่ไม่มี UI ผู้ดูแลระบบ ให้รันขั้นตอนการเชื่อมโยงจาก WP-CLI:
wp wpml import process
คำสั่งจะรายงานจำนวนคำแปลที่เชื่อมต่อกัน ซึ่งเป็นคำสั่งที่ใช้แทนปุ่ม Run WPML Import ได้ทันที
แปลเนื้อหาที่นำเข้าโดยอัตโนมัติ
คุณสามารถให้ WPML แปลเนื้อหาที่นำเข้าโดยอัตโนมัติได้ หากไม่มีฟีเจอร์นี้ คุณจะต้องนำเข้าเนื้อหาในภาษาเดียว จากนั้น – เมื่อเปิดใช้งาน แปลทุกอย่างโดยอัตโนมัติ – คุณจะต้องเลือกรายการที่นำเข้าทั้งหมดและส่งไปแปลด้วยตนเอง ซึ่งจะใช้เวลานานสำหรับชุดข้อมูลขนาดใหญ่และการนำเข้าซ้ำ ๆ ให้เพิ่มคอลัมน์อีกหนึ่งคอลัมน์ลงในไฟล์ของคุณแทน:
_wpml_import_tea. ตั้งค่าเป็น1ในแถวภาษาต้นทางที่คุณต้องการแปลโดยอัตโนมัติ
เมื่อคุณรัน WPML Import WPML จะสร้างงานแปลอัตโนมัติสำหรับทุกโพสต์ที่ถูกตั้งค่าไว้ ไปยังแต่ละภาษาของเว็บไซต์คุณที่ยังไม่มีคำแปล แถวที่คุณนำเข้าคำแปลมาแล้วจะไม่ถูกเปลี่ยนแปลง
สิ่งนี้จำเป็นต้องเปิดใช้งานโหมดแปลทุกอย่างโดยอัตโนมัติของ WPML หากไม่ได้เปิดใช้งาน การตั้งค่านี้จะถูกละเว้น
ข้อผิดพลาดที่พบบ่อย
- ไฟล์นำเข้าไม่มีคอลัมน์ภาษาสามคอลัมน์ เนื้อหาจะนำเข้าได้แต่จะแสดงเป็นแถวภาษาต้นทางที่ไม่ได้แท็ก Run WPML Import จะไม่มีข้อมูลให้เชื่อมโยง วิธีแก้ไข: เพิ่มคอลัมน์ลงในข้อมูลต้นทางของคุณ ส่งออกใหม่ และนำเข้าอีกครั้ง
- ข้ามการจับคู่ ฟิลด์ที่กำหนดเอง / Term Meta ของ WP All Import ผลลัพธ์จะเหมือนกับกรณีที่ไม่มีคอลัมน์ ข้อมูลอยู่ในไฟล์แต่ปลั๊กอินการนำเข้าไม่ได้เก็บไว้ในโพสต์ ให้รันการนำเข้าอีกครั้งโดยจับคู่ฟิลด์ให้เรียบร้อย
- ไม่ได้ตั้งค่าภาษาปลายทางบนไซต์นำเข้า แถวที่นำเข้าสำหรับภาษาที่ไม่ได้กำหนดค่าจะแสดงในภาษาเริ่มต้น ให้เพิ่มภาษาที่ขาดหายไปที่ WPMLการตั้งค่าภาษา ก่อน แล้วจึงรันอีกครั้ง
- ปลั๊กอินการนำเข้าที่ไม่รองรับ โพสต์ที่นำเข้าจะยังคงเป็นฉบับร่างหลังจากขั้นตอนการเชื่อมโยง ให้เผยแพร่ด้วยตนเอง หรือเปลี่ยนไปใช้ปลั๊กอินที่รองรับ
- สคริปต์นำเข้าที่สร้างขึ้นเองซึ่งไม่ส่งผ่านข้อมูลภาษา วิธีแก้ไขอยู่ที่ระดับสคริปต์ คอลัมน์ภาษาสามคอลัมน์ (และคอลัมน์แอตทริบิวต์ WooCommerce หากมี) จะต้องไปถึงแถวข้อมูล
- เนื้อหาที่โค้ดของคุณเพิ่มเองจะไม่ถูกเก็บไว้เป็นฉบับร่าง WPML จะเก็บเนื้อหาเป็นฉบับร่างเฉพาะสำหรับปลั๊กอินการนำเข้าที่รองรับเท่านั้น เนื้อหาที่โค้ดของคุณเพิ่มด้วย
wp_insert_postหรือการนำเข้า WooCommerce ที่รันจาก PHP หรือ WP-CLI จะรักษาสถานะที่โค้ดกำหนดไว้ ให้สร้างเนื้อหาใหม่เป็นฉบับร่างด้วยตัวคุณเอง และตั้งค่า_wpml_import_after_process_post_statusเป็นpublish wp exportลบคอลัมน์ภาษาของคำศัพท์ WP-CLI 2.12.0 มาพร้อมกับ export-command 2.1.14 ซึ่งไม่เขียน Term Meta หลังจากwp importทุกหมวดหมู่และแท็กจะสูญเสียคอลัมน์ภาษาไป ให้อัปเดต export-command เป็น 2.1.15 หรือใหม่กว่า หรือส่งออกจาก เครื่องมือส่งออก ในหน้าจัดการเว็บไซต์ของ WordPress
หากการนำเข้ายังคงพบปัญหาเดิม ทีมสนับสนุนของ WPML พร้อมตอบคำถามเกี่ยวกับการนำเข้าตลอด 24 ชั่วโมง
กรณีการใช้งาน
ย้ายเนื้อหาหลายภาษาไปยังไซต์ใหม่
สถานการณ์ที่พบบ่อยที่สุด: ส่งออกเนื้อหาจากไซต์ WPML แห่งหนึ่ง และนำเข้า – ทั้งหมดหรือบางส่วน – ไปยังอีกไซต์หนึ่ง
- ในไซต์ต้นทาง ให้ติดตั้งการส่งออกและนำเข้าของ WPML ควบคู่กับเครื่องมือส่งออกของคุณ และส่งออกเนื้อหาที่คุณต้องการย้าย (ดู ส่งออก) คอลัมน์ภาษาจะถูกแนบมาด้วยโดยอัตโนมัติ
- ในไซต์ใหม่ ให้ดำเนินการ การกำหนดค่าการนำเข้า ให้เสร็จสิ้น – ติดตั้งปลั๊กอิน และตั้งค่าทุกภาษาจากไซต์ต้นทาง
- นำเข้าอนุกรมวิธาน แล้วจึงนำเข้าเนื้อหา ด้วยเครื่องมือการนำเข้าของคุณ
- รัน WPML Import เนื้อหาของคุณจะแสดงในภาษาที่ถูกต้องพร้อมเชื่อมต่อทุกคำแปล เหมือนกับในไซต์ต้นทาง
รีเซ็ต WPML และนำเข้าคำแปลอีกครั้งลงในไซต์เดิม
ลองคิดว่าการส่งออกคือสำเนาสำรองของการเชื่อมโยงภาษาของเว็บไซต์คุณ: ภาษาของแต่ละแถว และแถวใดที่อยู่ด้วยกันเป็นกลุ่มการแปลเดียว คุณสามารถทำให้สำเนานั้นเป็นปัจจุบันโดยอัตโนมัติได้ – ตัวอย่างเช่น การส่งออกรายคืนตามกำหนดเวลาในเครื่องมือส่งออกของคุณ ซึ่งบันทึกไว้ในไฟล์ของตัวเอง หากข้อมูลภาษาของ WPML เกิดปัญหา คุณสามารถรีเซ็ต WPML และนำเข้าไฟล์ส่งออกล่าสุดที่สร้างไว้ในขณะที่ข้อมูลยังปกติดีอีกครั้ง โดยทำตามขั้นตอนด้านล่าง สิ่งหนึ่งที่วิธีนี้ทำไม่ได้คือ: ซ่อมแซมการส่งออกที่ทำขึ้นหลังจากเกิดปัญหา – ไฟล์จะรักษาสถานะของข้อมูลในขณะที่ทำการส่งออกไว้
- ส่งออกในขณะที่ข้อมูลภาษายังสมบูรณ์ – หรือใช้ไฟล์ส่งออกตามกำหนดเวลาล่าสุดของคุณ ส่งออกเนื้อหาทุกประเภทที่คุณต้องการพร้อมคำแปล (ดู ส่งออก) คอลัมน์ภาษาสามคอลัมน์จะบันทึกสิ่งที่คุณจำเป็นต้องกู้คืน: ภาษาของแต่ละแถว และแถวใดที่อยู่ด้วยกันเป็นคำแปลของกันและกัน
- รีเซ็ต WPML ปฏิบัติตาม รีเซ็ต WPML การรีเซ็ตจะลบข้อมูล WPML ทั้งหมด – ภาษา, ภาษาของแต่ละรายการ, ลิงก์ระหว่างคำแปล, การแปลสตริง และงานแปล – และปิดใช้งาน WPML โพสต์ หน้า สินค้า และอนุกรมวิธานของคุณจะยังคงอยู่ เปิดใช้งาน WPML อีกครั้ง
- ตั้งค่าภาษาอีกครั้ง – ใช้ภาษาเริ่มต้นและภาษารองเดียวกันกับที่ไซต์มีก่อนการรีเซ็ต
- นำเข้าไฟล์เดิมอีกครั้ง โดยอัปเดตเนื้อหาที่มีอยู่ ขั้นตอนนี้แตกต่างจากการย้ายไปยังไซต์ใหม่: โพสต์มีอยู่แล้ว ดังนั้นการนำเข้าจะต้องอัปเดตโพสต์เหล่านั้นแทนที่จะสร้างใหม่ ใช้ WP All Import พร้อมการจับคู่ระเบียน (จับคู่ตาม ID) หรือตัวเลือกอัปเดตสินค้าที่มีอยู่ของเครื่องมือนำเข้า WooCommerce เครื่องมือนำเข้ามาตรฐานของ WordPress ไม่สามารถทำสิ่งนี้ได้ – เนื่องจากจะสร้างเฉพาะเนื้อหาใหม่ ซึ่งจะทำให้ทุกแถวซ้ำกัน
- รัน WPML Import การกำหนดภาษาและกลุ่มการแปลจากไฟล์จะถูกเชื่อมโยงกลับไปยังเนื้อหาที่มีอยู่
มีเพียงภาษาของแต่ละรายการและลิงก์ระหว่างคำแปลเท่านั้นที่จะกลับมา การแปลสตริง งานแปล และการตั้งค่า WPML จะไม่อยู่ในไฟล์ส่งออก ให้ตั้งค่าสิ่งเหล่านี้อีกครั้งหลังจากการนำเข้า
เพิ่มภาษาในภายหลัง
คุณนำเข้าแคตตาล็อกของคุณเป็นภาษาอังกฤษและภาษาสเปน และตอนนี้คุณเพิ่มภาษาฝรั่งเศส ให้เตรียมไฟล์ที่มีเฉพาะแถวภาษาฝรั่งเศส กำหนดกลุ่มการแปลของต้นฉบับ รหัสภาษา fr และภาษาต้นทาง en ให้กับแต่ละแถว นำเข้าไฟล์แล้วคลิก Run WPML Import WPML จะเก็บกลุ่มของทุกรายการที่เชื่อมต่อไว้ ดังนั้นแถวภาษาฝรั่งเศสแต่ละแถวจะเข้าร่วมกับคำแปลของต้นฉบับ
ซิงค์ฟีดของซัพพลายเออร์ทุกคืน
ซัพพลายเออร์ของคุณส่งฟีดสินค้ามาให้ทุกคืน สินค้าต้นฉบับเป็นภาษาอังกฤษ และฟีดมีคอลัมน์ภาษาสามคอลัมน์ ให้ตั้งเวลาการนำเข้าใน WP All Import Pro และเพิ่ม การเรียกใช้ POST ต่อจากนั้นทันที ตั้งค่า _wpml_import_tea เป็น 1 ในแถวของสินค้าใหม่ ทุกคืน สินค้าใหม่จะได้รับภาษาของตนเอง และ WPML จะส่งสินค้าเหล่านั้นไปยังการแปลอัตโนมัติในภาษาอื่น ๆ ของคุณ