WooCommerce Troubleshooting

Plugin Conflict ใน WooCommerce แก้ยังไง

Plugin Conflict ใน WooCommerce แก้ยังไง

สรุปคำตอบ

Plugin Conflict ใน WooCommerce คือปัญหาที่ Plugin ตั้งแต่สองตัวขึ้นไปทำงานขัดกัน เช่น โหลด JavaScript ซ้ำซ้อน ใช้ฟังก์ชัน PHP ชื่อเดียวกัน หรือ Hook เข้าจุดเดียวกันผิดลำดับ ทำให้หน้า Cart หรือ Checkout พัง ปุ่ม Place Order กดไม่ได้ หรือ Payment Gateway หายไป มักเริ่มหลังติดตั้งหรืออัปเดต Plugin วิธีหาตัวต้นเหตุคือ Backup ก่อน แล้วปิด Plugin ทั้งหมดยกเว้น WooCommerce จากนั้นเปิดกลับทีละตัวหรือทีละครึ่ง แล้วอัปเดตหรือเปลี่ยน Plugin ตัวที่ขัดกัน

Plugin Conflict ใน WooCommerce คือปัญหาที่เกิดขึ้นเมื่อปลั๊กอินตั้งแต่สองตัวขึ้นไปทำงานขัดกัน ตามนิยามในเอกสารของ WooCommerce ไม่ว่าจะเป็นการโหลด JavaScript ซ้ำซ้อน ฟังก์ชัน PHP ชนกัน หรือ Hook ที่ถูกแทรกผิดลำดับ ผลที่ตามมาคือหน้าร้านค้าพัง Checkout ใช้งานไม่ได้ หรือระบบชำระเงินทำงานผิดปกติ ปัญหาเหล่านี้เกิดได้บ่อยมากเมื่ออัปเดตปลั๊กอิน WooCommerce หรือ WordPress แล้วไม่ได้ทดสอบความเข้ากันได้ก่อน

อาการที่บ่งชี้ว่าเกิด Plugin Conflict

ก่อนจะแก้ไข ต้องรู้ก่อนว่ากำลังเผชิญกับ Plugin Conflict อยู่จริงหรือเปล่า อาการที่พบบ่อยได้แก่:

  • หน้า Checkout หรือ Cart แสดงผลพัง หน้าขาว หรือ Error 500 โดยไม่มีสาเหตุชัดเจน (WooCommerce Checkout ไม่ได้ มักมีต้นตอมาจากปัญหานี้)
  • ปุ่มเพิ่มสินค้าลงตะกร้า หรือปุ่ม Place Order กด แล้วไม่มีอะไรเกิดขึ้น
  • JavaScript Error ใน Console เช่น Uncaught TypeError หรือ $.fn is not a function
  • ระบบชำระเงินหายไปจากหน้า Checkout หรือ Payment Gateway แสดง Error (WooCommerce Payment Gateway Error)
  • อาการเพิ่งเริ่มหลังติดตั้งหรืออัปเดตปลั๊กอินตัวใดตัวหนึ่ง
WooCommerce Checkout / จ่ายเงินไม่ได้ — WP Doctor Thailand
ปัญหาหน้า Checkout และการจ่ายเงินใน WooCommerce

วิธีตรวจสอบว่าปลั๊กอินตัวไหนขัดกัน

วิธีที่ได้ผลและแม่นยำที่สุดคือการทำ Binary Elimination หรือแยกปลั๊กอินออกทีละครึ่ง ซึ่งต่อยอดจากขั้นตอนทดสอบ conflict ของ WooCommerce ทำตามขั้นตอนนี้:

  • สำรองข้อมูลก่อนเสมอ — backup ฐานข้อมูลและไฟล์ทั้งหมดก่อนแตะสิ่งใด
  • ไปที่ Plugins → Installed Plugins แล้วปิดปลั๊กอินทั้งหมด ยกเว้น WooCommerce
  • ทดสอบว่าอาการหายไปหรือไม่ ถ้าหายแสดงว่าปัญหามาจากปลั๊กอินตัวอื่นแน่นอน
  • เปิดปลั๊กอินทีละตัว แล้วทดสอบทุกครั้งหลังเปิด จนกว่าจะพบตัวที่ทำให้อาการกลับมา
  • ถ้ามีปลั๊กอินจำนวนมาก ให้เปิดครึ่งแรกก่อน — ถ้าอาการยังไม่กลับมา แสดงว่าตัวผู้ร้ายอยู่ในครึ่งหลัง ทำแบบนี้ไปเรื่อย ๆ จะเจอเร็วขึ้น
เคล็ดลับ: ถ้าไม่อยากปิดปลั๊กอินบนเว็บจริง ให้ใช้ Staging Site หรือเปิด WP_DEBUG ใน wp-config.php โดยตั้งค่า define('WP_DEBUG', true); และ define('WP_DEBUG_LOG', true); แล้วดู log ใน wp-content/debug.log เพื่อดูว่า Error มาจากปลั๊กอินตัวไหน (ดูคู่มือ Debugging in WordPress)

วิธีแก้ไข Plugin Conflict ทีละขั้นตอน

เมื่อระบุตัวปลั๊กอินที่ขัดกันได้แล้ว มีทางแก้ไขดังนี้:

1. อัปเดตปลั๊กอินให้เป็นเวอร์ชันล่าสุด

Developer มักออก patch เพื่อแก้ปัญหา Compatibility ระหว่างปลั๊กอิน ลองอัปเดตปลั๊กอินทุกตัวให้เป็นเวอร์ชันล่าสุดก่อนเป็นอันดับแรก รวมถึง WooCommerce และ WordPress core

2. ตรวจสอบปัญหา JavaScript

เปิด Browser DevTools (F12) แล้วดู Console tab หาก Error ชี้ไปที่ไฟล์ JS ของปลั๊กอินใด ให้แจ้ง Developer ของปลั๊กอินนั้น หรือปิด Script ที่ขัดกันผ่านฟังก์ชัน wp_dequeue_script() ใน functions.php ของธีม (ดูเอกสาร wp_dequeue_script)

3. ตรวจสอบการชน Hook และ Filter

ปลั๊กอินหลายตัวอาจ Hook เข้า woocommerce_checkout_process หรือ woocommerce_payment_gateways พร้อมกัน ใช้ Plugin เช่น Query Monitor เพื่อดูว่า Hook ไหนถูก Fire ซ้ำซ้อน

4. สลับธีมชั่วคราว

บางครั้งปัญหาไม่ได้มาจากปลั๊กอินล้วน ๆ แต่มาจากการที่ธีมและปลั๊กอินขัดกัน ลองสลับมาใช้ธีม Default ของ WordPress เช่น Twenty Twenty-Five เพื่อทดสอบ ซึ่งเป็นขั้นตอนเดียวกับที่ WooCommerce แนะนำ

WooCommerce ออเดอร์/อีเมลไม่เข้า — WP Doctor Thailand
ปัญหา Order และอีเมลแจ้งเตือนใน WooCommerce

วิธีป้องกัน Plugin Conflict ในอนาคต

  • ทดสอบบน Staging ก่อนอัปเดตจริงเสมอ — อย่าอัปเดตปลั๊กอินบน Production โดยตรง โดยเฉพาะก่อนวันสำคัญหรือแคมเปญ
  • ใช้ปลั๊กอินเท่าที่จำเป็นจริง ๆ ปลั๊กอินทุกตัวที่ติดตั้งคือความเสี่ยงที่เพิ่มขึ้น
  • ตรวจสอบ Compatibility ของปลั๊กอินกับ WooCommerce เวอร์ชันปัจจุบันในหน้า Plugin Detail ก่อนติดตั้ง
  • ติดตาม Changelog ของ WooCommerce ทุกครั้งที่มีอัปเดตใหญ่ เพราะมักมีการเปลี่ยน API ที่ทำให้ปลั๊กอินเก่าพัง
  • ตั้งค่า Uptime Monitor และ Error Alerting เพื่อให้รู้ทันทีเมื่อเว็บมีปัญหา ก่อนที่ลูกค้าจะพบเจอ
  • ปัญหาที่ซับซ้อนขึ้น เช่น WooCommerce ช้าผิดปกติ หรือ Order ไม่เข้าระบบ ก็มักมี Plugin Conflict เป็นส่วนหนึ่งของสาเหตุด้วย

เมื่อไหร่ควรขอความช่วยเหลือจากผู้เชี่ยวชาญ

Plugin Conflict บางกรณีซับซ้อนเกินกว่าจะแก้ได้ด้วยตัวเอง โดยเฉพาะเมื่อ:

  • ปิดทุกปลั๊กอินแล้วแต่อาการยังไม่หาย ซึ่งอาจหมายความว่าปัญหาอยู่ที่ธีมหรือ WordPress core
  • เว็บเป็น Production ที่มีลูกค้าใช้งานจริงและไม่สามารถหยุดให้บริการได้นาน
  • Error Log ซับซ้อน มี PHP Fatal Error หรือ Database Error ร่วมด้วย
  • ปลั๊กอินที่ขัดกันเป็นตัวที่จำเป็นต้องใช้ทั้งคู่ เช่น Payment Gateway กับ Shipping Plugin

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

ร้านค้าที่มี Plugin หลายตัวควรมีคนอัปเดตและทดสอบสั่งซื้อให้หลังอัปเดตทุกครั้ง แพ็กเกจ WooCommerce ของบริการ ดูแลเว็บ WordPress รายเดือน ทดสอบสั่งซื้อและ Payment ให้ทุกเดือน

คำถามที่พบบ่อย

Plugin Conflict ใน WooCommerce คืออะไร

คือสภาวะที่ปลั๊กอินตั้งแต่สองตัวขึ้นไปทำงานขัดแย้งกัน เช่น ใช้ฟังก์ชัน PHP ชื่อเดียวกัน หรือโหลด JavaScript ที่ทับกัน ทำให้เว็บแสดงผลผิดพลาดหรือฟีเจอร์บางส่วนใช้งานไม่ได้

วิธีหาว่าปลั๊กอินตัวไหนขัดกันทำอย่างไร

ให้ปิดปลั๊กอินทั้งหมดก่อน แล้วค่อย ๆ เปิดทีละตัวจนกว่าจะพบตัวที่ทำให้อาการกลับมา หรือจะใช้วิธี Binary Elimination โดยเปิดทีละครึ่งเพื่อแยกให้เร็วขึ้น

ต้องปิดร้านเพื่อตรวจสอบ Plugin Conflict หรือเปล่า

ไม่จำเป็น ถ้าใช้ Staging Site สามารถทดสอบได้โดยไม่กระทบร้านจริง หากไม่มี Staging ควรทำในช่วงที่มีลูกค้าน้อยที่สุดและแจ้งลูกค้าล่วงหน้า

Plugin Conflict กับ WooCommerce อัปเดตแล้วพังต่างกันอย่างไร

Plugin Conflict เกิดจากปลั๊กอินสองตัวทำงานขัดกัน ส่วนกรณีอัปเดตแล้วพังมักเป็นเพราะปลั๊กอินตัวเก่าไม่รองรับ WooCommerce เวอร์ชันใหม่ แต่ทั้งสองกรณีใช้วิธีตรวจสอบแบบเดียวกัน คือแยกปลั๊กอินออกทีละตัว

ปิด Plugin ทั้งหมดแล้วอาการยังไม่หาย แปลว่าอะไร?

แปลว่าปัญหาอาจไม่ได้มาจาก Plugin แต่อยู่ที่ Theme หรือ WordPress Core ให้ลองสลับเป็น Theme เริ่มต้น เช่น Twenty Twenty-Four เพื่อทดสอบ และดู Error Log ประกอบ

จะดูว่า Error มาจาก Plugin ตัวไหน โดยไม่ต้องปิด Plugin บนเว็บจริงได้ไหม?

ได้ ให้ทดสอบบน Staging Site หรือเปิด define('WP_DEBUG', true); และ define('WP_DEBUG_LOG', true); ใน wp-config.php แล้วดูไฟล์ wp-content/debug.log ซึ่งจะระบุ path ของไฟล์ Plugin ที่เกิด Error

แหล่งอ้างอิง

  1. WooCommerce. (ม.ป.ป.). How to test for plugin and theme conflicts. สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://woocommerce.com/document/how-to-test-for-conflicts/
  2. WordPress.org. (ม.ป.ป.). wp_dequeue_script() (Code Reference). สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://developer.wordpress.org/reference/functions/wp_dequeue_script/
  3. WordPress.org. (ม.ป.ป.). Query Monitor (ปลั๊กอิน). สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://wordpress.org/plugins/query-monitor/
  4. WordPress.org. (ม.ป.ป.). Debugging in WordPress. สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/
อ่านบทความหลักของหมวดนี้ WooCommerce Checkout ไม่ได้ เกิดจากอะไร

บทความอื่นในหมวดนี้

LINE ส่งปัญหา