ข้ามไปยังเนื้อหาหลัก ข้ามไปยังแถบด้านข้าง

เราเพิ่งเปิดตัว WPML Multilingual & Multicurrency for WooCommerce 5.5.6 โดยรุ่นนี้เน้นไปที่การเพิ่มประสิทธิภาพการทำงาน ซึ่งมุ่งเป้าไปที่หนึ่งในปัญหาที่เจ้าของร้านค้าแจ้งเข้ามาบ่อยที่สุด นั่นคือการบันทึกสินค้าที่มีตัวเลือก (Variable Product) ในตัวแก้ไขของ WooCommerce นั้นทำงานได้ช้าเมื่อแคตตาล็อกของคุณมีตัวเลือกสินค้าและภาษาจำนวนมาก ซึ่งการอัปเดตนี้จะเข้ามาแก้ไขปัญหานี้โดยเฉพาะ

ทำไมการบันทึกสินค้าที่มีตัวเลือกถึงทำงานช้า

เมื่อคุณบันทึกสินค้า WPML Multilingual & Multicurrency for WooCommerce (WCML) จะคอยซิงค์ข้อมูลการแปลทุกอย่างให้ตรงกับต้นฉบับเสมอ งานดังกล่าวครอบคลุมทั้งเรื่องราคา, คุณลักษณะ (Attributes), สต็อกสินค้า, ตัวเลือกสินค้า และข้อมูลอื่น ๆ ที่เกี่ยวข้อง

ในไซต์ที่มีสินค้าชิ้นเดียวและภาษาเดียว งานส่วนนี้จะไม่ส่งผลกระทบใด ๆ แต่ในร้านค้าที่มีสินค้า 100 ตัวเลือกใน 7 ภาษา การบันทึกเพียงครั้งเดียวจะมีการรัน การอัปเดตฐานข้อมูลหลายร้อยรายการ อยู่เบื้องหลัง ซึ่งการอัปเดตส่วนใหญ่นั้นเป็นการอัปเดตข้อมูลการแปลที่ไม่ได้มีการเปลี่ยนแปลงจริง ๆ

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

WCML 5.5.6 ได้เปลี่ยนรูปแบบการทำงานดังกล่าวแล้ว

ใหม่: โหมดการซิงค์ตามขอบเขตของตัวแก้ไข (Editor Scoped Sync Mode)

เราได้เพิ่มการตั้งค่าใหม่ที่เรียกว่า Variation translation sync on product save (การซิงค์คำแปลตัวเลือกสินค้าเมื่อบันทึกสินค้า) ซึ่งมีสองโหมดให้เลือก

การซิงค์แบบสมบูรณ์ (ค่าเริ่มต้น, ไม่เปลี่ยนแปลง)

WCML จะยังคงทำงานเหมือนเดิม คือทุกครั้งที่มีการบันทึก จะทำการซิงค์ทุกตัวเลือกสินค้าในทุกภาษา วิธีนี้เป็นการรับประกันที่แน่นหนาที่สุดว่าคำแปลจะตรงกับต้นฉบับเสมอ

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

การซิงค์ตามขอบเขตของตัวแก้ไข (ใหม่, ต้องเลือกเปิดใช้งาน)

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

เราได้ทดสอบกับสินค้าที่มี 9 ตัวเลือกและแปลเป็น 19 ภาษา โดยวัดรอบการบันทึกทั้งหมด ตั้งแต่การคลิก บันทึก ไปจนถึงตัวแก้ไขกลับมาใช้งานได้อีกครั้ง ในการอัปเดตเฉพาะคำอธิบายสินค้า พบว่าเวลาที่ WCML + WPML ใช้ลดลงจาก 2.08 วินาที เหลือเพียง 1.42 วินาที หรือลดลงถึง 32% โดยไม่ส่งผลกระทบต่อ WooCommerce และ WordPress ส่วนเวลาการบันทึกโดยรวมลดลงจาก 5.52 วินาที เหลือ 4.86 วินาที ซึ่งเป็นการปรับปรุงภาพรวมดีขึ้น 12%

เวลาประมวลผลในการอัปเดตสินค้า

แผนภูมิแท่งแสดงข้อมูลเวลาประมวลผลที่จำเป็นในการอัปเดตสินค้า

ผลลัพธ์ของคุณจะแตกต่างกันไปขึ้นอยู่กับ WooCommerce, ธีม, โฮสต์ และปลั๊กอินอื่น ๆ ของคุณ ร้านค้าที่มีแคตตาล็อกขนาดใหญ่และมีหลายภาษาจะเห็นผลลัพธ์ที่ชัดเจนที่สุด

แล้วตัวเลือกสินค้าที่คุณไม่ได้แตะต้องล่ะ?

เราทราบดีว่านี่คือคำถามแรกที่คุณสงสัย เราจึงมีระบบป้องกันไว้สองชั้น

การแจ้งเตือนหลังการบันทึก เมื่อเปิดใช้งานการซิงค์ตามขอบเขตของตัวแก้ไข ทุกครั้งที่มีการบันทึกจะมีการแสดงการแจ้งเตือน โดยจะระบุจำนวนตัวเลือกสินค้าที่ถูกข้ามไป และยังมีปุ่มให้คลิกเพียงครั้งเดียวคือ: Force update all variation translations (บังคับอัปเดตคำแปลตัวเลือกสินค้าทั้งหมด) ด้วยวิธีนี้ คุณสามารถทำการซิงค์แบบสมบูรณ์ได้เสมอเพียงแค่คลิกเดียว โดยไม่ต้องสลับโหมดไปมา

การแจ้งเตือนที่แสดงหลังจากบันทึกสินค้าที่มีตัวเลือก – WCML จะเตือนคุณว่าตัวเลือกสินค้าใดบ้างที่ได้รับการซิงค์

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

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

การซิงค์ตามขอบเขตของตัวแก้ไขมีผลที่ไหนบ้าง

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

โหมดนี้จะ ไม่มี ผลต่อ:

  • หน้าแดชบอร์ดการแปล (Translation Dashboard)
  • แปลทุกอย่างโดยอัตโนมัติ
  • การนำเข้าไฟล์ CSV, การเรียกใช้ API และวิธีการแก้ไขสินค้าผ่านโปรแกรมอื่น ๆ
  • การซิงค์เบื้องหลังหลังจากบริการแปลส่งงานกลับคืนมา

ขั้นตอนการทำงานของนักแปลจะไม่ได้รับผลกระทบ

วิธีเปิดใช้งานการซิงค์ตามขอบเขตของตัวแก้ไข

หลังจากอัปเดตเป็นเวอร์ชัน 5.5.6 ให้ไปที่ WooCommerceWCML และคลิกที่แท็บ Settings คุณจะเห็นตัวเลือก Variation translation sync on product save ให้เปลี่ยนเป็น Only sync variations edited in the editor แล้วคลิก Save changes

การตั้งค่าตัวเลือกใหม่ “Variation translation sync on product save” ในการตั้งค่า WCML

ลองบันทึกสินค้าใดก็ได้เพื่อยืนยันว่ามีการแจ้งเตือนหลังการบันทึกปรากฏขึ้น

การปรับปรุงประสิทธิภาพด้านอื่น ๆ

หน้าสินค้าโหลดเร็วขึ้นสำหรับร้านค้าที่มี Object Caching

หลายท่านใช้ Persistent Object Cache เช่น Redis หรือ Object Cache Pro ด้วยแคชเหล่านี้ หน้าสินค้าที่มีรีวิวจำนวนมากจะโหลดเร็วขึ้นอย่างเห็นได้ชัดหลังจากการอัปเดตนี้

เราได้เปลี่ยนวิธีที่ WCML จัดการกับแคชรีวิวสินค้า จากเดิมที่จะล้างแคชบางส่วนในทุกครั้งที่มีการเข้าชมสินค้า ตอนนี้จะทำงานร่วมกับ Object Cache ของคุณแทนที่จะล้างข้อมูลทิ้ง

การคำนวณในรถเข็นจะรันเฉพาะเมื่อมีการเปลี่ยนแปลงเท่านั้น

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

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

การทำงานของรถเข็นขนาดเล็ก (Mini-Cart) ที่สะอาดตาขึ้น

WooCommerce จะส่งคำขอรีเฟรชรถเข็นหนึ่งครั้งเมื่อเริ่มเซสชันการช้อปปิ้งแต่ละครั้ง เพื่อให้ข้อมูลในรถเข็นขนาดเล็กถูกต้องแม่นยำ

แต่เดิม WCML จะส่งคำขอที่สองในทุกครั้งที่โหลดหน้าเว็บ แม้ว่ารถเข็นจะว่างเปล่าก็ตาม

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

ลดขั้นตอนการทำงานเบื้องหลังของรูปภาพสินค้าที่แปลแล้ว

เราได้ปรับปรุงวิธีการจัดการรูปภาพในแกลเลอรีสินค้าที่แปลแล้วให้ง่ายขึ้น

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

ผลลัพธ์บนไซต์ของคุณยังคงเหมือนเดิม แต่ใช้การคิวรีที่น้อยลงเพื่อให้ได้ผลลัพธ์นั้น

หน้าสินค้าที่มีตัวเลือกจำนวนมาก: แนะนำให้อัปเดตนี้ควบคู่กับ WooCommerce เวอร์ชันล่าสุด

ผู้ใช้งานบางรายรายงานว่าหน้าสินค้าที่มีตัวเลือกหลายร้อยรายการโหลดช้ามาก เราได้ตรวจสอบและพบว่า WooCommerce 10.4.x มีปัญหาด้านประสิทธิภาพในตัวเองซึ่งทำให้ความล่าช้านี้รุนแรงขึ้น ซึ่ง WooCommerce 10.7 ได้แก้ไขปัญหานี้แล้ว

หากคุณพบปัญหานี้ในร้านค้าของคุณ โปรดอัปเดตเป็น WooCommerce 10.7 หรือใหม่กว่า ควบคู่ไปกับ WCML 5.5.6 นั่นคือวิธีที่เร็วที่สุดในการแก้ปัญหานี้

การแก้ไขที่มีประโยชน์

ตัวเลือกสินค้าจะกลับไปใช้ภาษาเริ่มต้นหากไม่มีคำแปล

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

รีเฟรชจำนวนตัวกรองในหน้าคลังสินค้าที่แปลแล้ว

เมื่อคุณเพิ่มคุณลักษณะใหม่ให้กับสินค้าที่แปลแล้ว คุณย่อมคาดหวังให้จำนวนใน Filter by attribute (กรองตามคุณลักษณะ) ในหน้าคลังสินค้าที่แปลแล้วสะท้อนถึงการเปลี่ยนแปลงนั้นด้วย แต่ก่อนหน้านี้จำนวนดังกล่าวจะไม่เปลี่ยนจนกว่าจะถึงรุ่นนี้ โดยหน้าคลังสินค้าภาษาต้นฉบับจะอัปเดต แต่หน้าคลังสินค้าที่แปลแล้วกลับไม่อัปเดต

ตอนนี้ WCML จะล้างแคชของ WooCommerce ที่ถูกต้องหลังจากซิงค์คุณลักษณะไปยังคำแปลแล้ว ทำให้ข้อมูลในหน้าคลังสินค้าทั้งสองภาษาตรงกัน

ตัวหมุนโหลดในตัวสลับสกุลเงินจะปรากฏในทุกจุด

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

ความเข้ากันได้กับ WooCommerce 10.8

WooCommerce 10.8 มีกำหนดเปิดตัวในวันอังคารที่ 26 พฤษภาคม 2026 เราได้ทดสอบ WCML 5.5.6 กับเวอร์ชันดังกล่าวแล้ว การเปิดตัวของเราถูกกำหนดไว้ในวันถัดไป เวอร์ชันที่คุณติดตั้งจึงเป็นเวอร์ชันที่เราได้ตรวจสอบกับ WooCommerce รุ่นที่เปิดตัวจริงแล้ว

อัปเดตและข้อเสนอแนะ

ตามปกติ เราจะทยอยเปิดตัวรุ่นนี้อย่างค่อยเป็นค่อยไป หากคุณต้องการอัปเดตทันที:

  1. ในหน้าผู้ดูแลระบบของไซต์ ให้ไปที่ PluginsAdd New Plugin แล้วคลิกแท็บ Commercial
  2. คลิก Check for updates
  3. WPML Multilingual & Multicurrency for WooCommerce 5.5.6 จะปรากฏในรายการ ให้คุณทำการอัปเดตจากที่นั่น

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