WPML

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

ก่อนที่คุณจะเริ่มต้น

ติดตั้งและเปิดใช้งานปลั๊กอินเหล่านี้บนไซต์เดียวกัน:

คุณต้องมีตำแหน่งข้อมูล Elasticsearch ด้วยเช่นกัน: ไม่ว่าจะเป็นแบบโฮสต์เอง หรือบริการที่มีการจัดการ เช่น ElasticPress.io, Elastic Cloud หรือ AWS OpenSearch กำหนดค่า ElasticPress กับโฮสต์ Elasticsearch ของคุณและยืนยันว่าทำการทำดัชนีสำเร็จบนไซต์ภาษาเดียวก่อนที่จะเพิ่มเลเยอร์ WPML

กำหนดค่าภาษา WPML ของคุณก่อนที่จะเรียกใช้การซิงค์ครั้งแรก

การทำดัชนีตามภาษาทำงานอย่างไร

WPML ElasticPress จะสร้างดัชนี Elasticsearch แยกต่างหากสำหรับแต่ละภาษาบนไซต์ของคุณ ดัชนีของแต่ละภาษาจะประกอบด้วย:

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

ทุกเอกสารในดัชนีภาษาจะได้รับการวิเคราะห์ในภาษานั้น คำหยุด การตัดคำให้อยู่ในรูปรากศัพท์ คำย่อ การจัดการพหูพจน์และกาล ล้วนมีความเฉพาะเจาะจงตามภาษา นี่คือสิ่งที่ทำให้การค้นหาภาษาฝรั่งเศสตรงกับรากศัพท์ภาษาฝรั่งเศส และการค้นหาภาษาญี่ปุ่นตรงกับสัณฐานวิทยาของภาษาญี่ปุ่น หากไม่มีการวิเคราะห์ตามภาษา เครื่องมือค้นหาจะนำกฎของภาษาหนึ่งไปใช้กับข้อความของภาษาอื่น ๆ ทั้งหมด

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

เรียกใช้การซิงค์เริ่มต้น

เมื่อเปิดใช้งานปลั๊กอินทั้งสี่ตัวและกำหนดค่าตำแหน่งข้อมูล Elasticsearch ใน ElasticPress แล้ว ให้เรียกใช้การซิงค์เริ่มต้น:

  1. ไปที่ ElasticPress > Sync ในหน้าจัดการเว็บไซต์ WordPress
  2. คลิก Start Sync

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

หากคุณกำลังอัปเดตจาก WPML ElasticPress 1.0 เป็น 2.0 หรือใหม่กว่า ให้ทำดัชนีใหม่ รูปแบบดัชนีมีการเปลี่ยนแปลงเมื่อเวอร์ชัน 2.0 นำเสนอการทำดัชนีตามภาษา

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

การทำดัชนีภาษาเฉพาะด้วย WP-CLI

สำหรับไซต์ขนาดใหญ่ งานที่กำหนดเวลาไว้ สคริปต์การปรับใช้ หรือเวิร์กโฟลว์ใด ๆ ที่ไม่สามารถใช้ UI ของหน้าจัดการเว็บไซต์ได้ WPML ElasticPress มีคำสั่ง WP-CLI (wp wpml_elasticpress sync) ที่ครอบคลุมการซิงค์ CLI ของ ElasticPress เอง และเพิ่มแฟล็ก --post-lang สำหรับการเลือกภาษา

เรียกใช้การซิงค์เริ่มต้นสำหรับโพสต์ภาษาอังกฤษเท่านั้น:

wp wpml_elasticpress sync --setup --post-type=post --post-lang=en

แฟล็ก --setup จะล้างดัชนีที่มีอยู่ก่อนที่จะสร้างใหม่ หลังจากคำสั่งนี้ การค้นหาภาษาอังกฤษจะแสดงผลลัพธ์เป็นภาษาอังกฤษ การค้นหาจากภาษาอื่นจะไม่แสดงผลลัพธ์ใด ๆ เนื่องจากดัชนียังไม่ได้ถูกสร้างขึ้น

เพิ่มภาษาที่สองโดยไม่ต้องล้างดัชนีที่มีอยู่:

wp wpml_elasticpress sync --post-type=post --post-lang=fr

ทำซ้ำสำหรับแต่ละภาษาที่เพิ่มเข้ามา ละเว้น --setup เพื่อให้ภาษาที่ทำดัชนีไว้ก่อนหน้านี้ยังคงอยู่

ซิงค์หลายภาษาในการทำงานครั้งเดียว:

wp wpml_elasticpress sync --post-lang=en,es

ปรับขนาดชุดงานหากหน่วยความจำเหลือน้อย:

wp wpml_elasticpress sync --per-page=200

ขนาดชุดงานเริ่มต้นคือ 350 การลดขนาดจะช่วยได้ในเซิร์ฟเวอร์ที่มีข้อจำกัดด้านหน่วยความจำ

สร้างทุกดัชนีใหม่ตั้งแต่ต้น:

wp wpml_elasticpress sync --setup

คำสั่งนี้จะล้างดัชนีทุกภาษาและสร้างใหม่ทั้งหมด ใช้คำสั่งนี้เมื่อมีบางอย่างดูผิดปกติในทุกภาษา หรือหลังจากการอัปเกรดครั้งใหญ่

วิธีตรวจสอบว่าการค้นหาของ ElasticPress แสดงเนื้อหาในภาษาที่ถูกต้อง

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

1. การค้นหาแสดงผลลัพธ์ในภาษาเดียวกันจากแต่ละภาษา

จากส่วนหน้าเว็บไซต์ ให้สลับตัวสลับภาษาไปยังแต่ละภาษาตามลำดับ และค้นหาคำที่คุณทราบว่ามีอยู่ในรูปแบบที่แปลแล้ว

  • ผ่าน หน้าผลลัพธ์แสดงเฉพาะโพสต์ในภาษานั้น
  • ไม่ผ่าน ผลลัพธ์จากภาษาอื่นปรากฏขึ้นพร้อมกับรายการที่ตรงกันในภาษาเดียวกัน การซิงค์อาจยังไม่เสร็จสมบูรณ์สำหรับภาษานั้น ตรวจสอบ ElasticPress > Sync เพื่อหาข้อผิดพลาดและเรียกใช้คำสั่ง WP-CLI เฉพาะภาษาอีกครั้ง

2. เนื้อหาที่มีเฉพาะภาษาต้นทางจะไม่แสดงผลลัพธ์ในภาษาอื่น

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

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

เปิดโพสต์ที่แปลแล้วในส่วนหน้าเว็บไซต์ วิดเจ็ต Related Posts ควรแสดงเฉพาะโพสต์อื่น ๆ ในภาษาเดียวกันเท่านั้น

  • ผ่าน โพสต์ที่เกี่ยวข้องทุกรายการจะลิงก์ไปยังเนื้อหาในภาษาเดียวกันกับหน้าปัจจุบัน
  • ไม่ผ่าน โพสต์ที่เกี่ยวข้องจากภาษาอื่นปรากฏขึ้น ยืนยันว่าฟีเจอร์ Related Posts เปิดใช้งานอยู่ใน ElasticPress > Features และดัชนีภาษาสำหรับภาษาปัจจุบันซิงค์เสร็จสิ้นแล้ว

หากเปิดใช้งานฟีเจอร์ Documents ใน ElasticPress: ให้อัปโหลด PDF ที่แปลแล้วไปยังเวอร์ชันภาษาต้นทางของโพสต์ จากนั้นอัปโหลด PDF ภาษาอื่นไปยังคำแปลของโพสต์ ค้นหาวลีที่ปรากฏเฉพาะใน PDF ที่แปลแล้ว

  • ผ่าน การค้นหาจากส่วนหน้าเว็บไซต์ในภาษาที่ตรงกันจะแสดง PDF ที่ถูกต้อง การค้นหาในภาษาต้นทางจะไม่แสดง PDF ที่แปลแล้ว และในทางกลับกัน
  • ไม่ผ่าน PDF จากภาษาอื่นปรากฏในผลลัพธ์ ซิงค์อีกครั้งหลังจากเปิดใช้งาน Documents คำสั่ง wp wpml_elasticpress sync --setup จะสร้างทุกดัชนีใหม่พร้อมกับการทำดัชนีเอกสาร

5. การค้นหาในระบบหลังบ้าน (Terms, Comments, Users) กรองตามภาษา

หากคุณเปิดใช้งานฟีเจอร์ Terms, Comments หรือ Users ใน ElasticPress > Features ให้ค้นหาจากหน้าจัดการเว็บไซต์ WordPress และยืนยันว่าผลลัพธ์ถูกกรองตามภาษาปัจจุบันของหน้าจัดการเว็บไซต์ สิ่งนี้ส่งผลต่อผู้ใช้ที่ค้นหาในระบบหลังบ้านของเว็บไซต์หลายภาษา

6. การซิงค์มัลติไซต์ไม่ล้างดัชนีของไซต์พี่น้อง

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

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

หากผ่านการตรวจสอบทุกข้อข้างต้น แสดงว่าการค้นหาหลายภาษาของคุณทำงานได้ตามที่ออกแบบไว้

ฟีเจอร์ของ ElasticPress ที่รองรับ

ปัจจุบัน WPML ElasticPress ทำให้ฟีเจอร์ของ ElasticPress ต่อไปนี้รองรับภาษา:

  • Post Search การค้นหาในส่วนหน้าเว็บไซต์ครอบคลุมโพสต์ หน้า และประเภทโพสต์แบบกำหนดเอง
  • Related Posts วิดเจ็ตโพสต์ที่เกี่ยวข้องจะกรองรายการที่ตรงกันในภาษาเดียวกัน
  • Documents ค้นหาภายในไฟล์ PDF ที่แนบมา, .docx, .pptx และไฟล์ประเภทอื่น ๆ
  • Terms, Comments และ Users การค้นหาในระบบหลังบ้าน

ฟีเจอร์การค้นหาเฉพาะของ WooCommerce ใน ElasticPress (การค้นพบผลิตภัณฑ์ การกรองผลิตภัณฑ์แบบหลายมุมมอง การค้นหาผลิตภัณฑ์ทันทีในแค็ตตาล็อก) ยังไม่รองรับหลายภาษาในขณะนี้ การรองรับหลายภาษาสำหรับการค้นหาของ WooCommerce อยู่ในแผนงานของ WPML จนกว่าจะถึงเวลานั้น การค้นหาของ WooCommerce บนเว็บไซต์หลายภาษาจะดำเนินการผ่านการจัดการมาตรฐานของ WooCommerce Multilingual ของ WPML ไม่ใช่ผ่าน ElasticPress

ข้อผิดพลาดที่พบบ่อย

  • ไม่ได้เรียกใช้การซิงค์หลังจากเปิดใช้งานฟีเจอร์ใหม่ของ ElasticPress การเปิดใช้งาน Documents หรือ Related Posts ใน ElasticPress > Features จะไม่เพิ่มเอกสารเหล่านั้นลงในดัชนีย้อนหลัง ให้ซิงค์อีกครั้งหลังจากเปิดหรือปิดฟีเจอร์
  • การซิงค์ WP-CLI โดยไม่มี --setup หลังจากการเปลี่ยนแปลงครั้งใหญ่ หากคุณเปลี่ยนประเภทโพสต์ที่สามารถแปลได้ ฟีเจอร์ที่เปิดใช้งาน หรืออัปเกรด WPML ElasticPress ข้ามขอบเขตเวอร์ชันหลัก ให้เรียกใช้ wp wpml_elasticpress sync --setup เพื่อสร้างทุกดัชนีใหม่ตั้งแต่ต้น
  • เทมเพลตผลการค้นหาของธีมข้ามตัวกรองของ ElasticPress ธีมแบบกำหนดเองบางธีมใช้คำค้นหาผลลัพธ์ของตนเองซึ่งไม่ผ่าน ElasticPress หากผลลัพธ์ดูผิดปกติเฉพาะในส่วนหน้าเว็บไซต์ (และผ่านการตรวจสอบในหน้าจัดการเว็บไซต์) เทมเพลตของธีมอาจต้องได้รับการอัปเดต
  • การค้นหาผลิตภัณฑ์ WooCommerce แสดงผลลัพธ์ที่มีภาษาปะปนกัน นี่ไม่ใช่ปัญหาการซิงค์ แต่เป็นช่องว่างการรองรับ WooCommerce ตามที่กล่าวไว้ข้างต้น ในตอนนี้ให้กำหนดเส้นทางการค้นหาผลิตภัณฑ์ผ่านการจัดการมาตรฐานของ WooCommerce Multilingual
  • ข้อความในเอกสารไม่ปรากฏในการค้นหา ยืนยันว่าฟีเจอร์ Documents เปิดใช้งานอยู่ใน ElasticPress > Features และมีการเรียกใช้การซิงค์ตั้งแต่เปิดใช้งาน

เขียนโดย Amir · อัปเดตล่าสุด 2 กรกฎาคม 2026

เขียนโดย Amir · อัปเดตล่าสุด 2 กรกฎาคม 2026