11 คำถามวิธีการแก้ปัญหา WordPress ที่ถูกถามบ่อย

สวัสดีครับ บทความนี้เราจะมาพูดถึงวิธีการแก้ปัญหา WordPress ที่เป็นคำถามที่ถูกถามบ่อยจากผู้ใช้งานหลายๆ คน ที่ส่งคำถามไปยังฝ่ายสนับสนุนของ WordPress ครับ โดยคำถามด้านล่างนี้จะเป็นคำถามที่แยกจากปัญหาทั่วไป เช่น The White Screen (หน้าจอขาว) Internal Server Error, Error Establish Database Connection Failed, Auto-Upgrade Connection Time Out, Maintenance Mode Following Upgrade, PHP Error or MySQL DB errors ซึ่งจะอยู่ในบทความอีกบทความนึงนะครับ

วิธีการปลดปลั๊กอินทั้งหมด (Deactivate all plugins) ในกรณีที่เราไม่สามารถเข้าหลังบ้านได้

ในกรณีที่เราไม่สามารถเข้าหลังบ้าน (Administrative Panel) ได้นั้น บางครั้งเราจำเป็นที่จะต้องทำการปลดปลั๊กอินทั้งหมด (Deactivate all plugins) เพื่อทำการทดสอบ เราจะมี 2 วิธีที่จะทำการปลดปลั๊กอินได้ ดังต่อไปน้

  1. วิธีแรกเราจะใช้วิธีเข้าฐานข้อมูลผ่าน phpMyAdmin เพื่อทำการปลดปลั๊กอินทั้งหมด
    1. ให้เราไปที่ตาราง wp_options ภายใต้คอลัมน์ที่ชื่อ option_name ให้หาแถวที่มีคำว่า active_plugins
    2. ให้เปลี่ยนค่า option_value เป็น a:0:{}
  2. วิธีที่สองเราจะปลดปลั๊กอินผ่านโฟลเดอร์ด้วยการเข้าจัดการผ่าน FTP หรือ File Manager
    1. ขั้นตอนแรกให้เราเข้าสู่ไฟล์ของ WordPress ผ่านระบบ FTP หรือ File Manager แล้วให้เราเข้าไปที่โฟลเดอร์ wp-content ซึ่งในนั้นจะมีโฟลเดอร์ที่ชื่อ plugins ปรากฏอยู่
    2. ให้เราทำการเปลี่ยนชื่อโฟลเดอร์ปลั๊กอินจาก plugins ให้เป็นชื่ออื่นเช่น plugins.hold เป็นต้น
    3. หลังจากนั้นเราสามารถเข้าสู่ระบบ WordPress ผ่านระบบ WP Admin หลังบ้านปกติ หากเราเข้าไปที่เมนู plugins เราจะเห็นว่าปลั๊กอินทั้งหมดจะหายไป
    4. เราสามารถทำการเปิดใช้งานปลั๊กอินใหม่ทั้ง่หมดได้อีกครั้งโดยให้เราเปลี่ยนชื่อจาก plugins.hold กลับมาเป็น plugins ผ่านระบบ FTP หรือ File Manager

วิธีการปิดหรือเคเลียร์ประโยคข้อความคำว่า Briefly unavailable for scheduled maintenance  หลังจากทำการอัพเกรดอัตโนมัติ

โดยปกติแล้ว หากระบบ WordPress ทำการอัพเกรดอัตโนมัติ ระบบจะทำการเพิ่มไฟล์ .maintenance เข้ามาในโฟลเดอร์หลักที่มีโฟลเดอร์ wp-admin อยู่ เราสามารถทำการปิดประโยคคำว่าว่า Briefly unavailable for scheduled maintenance ได้ โดยทำการลบไฟล์ท่นามสกุล .maintenance ทิ้งไปครับ เมื่อเราทำการลบไปแล้วระบบการอัพเกรดก็จะทำการอัพเกรดใหม่อีกครั้งในกรณีที่อัพเกรดแล้วไม่ได้ผล

เวอร์ชั่น WordPress พึ่งปล่อยออกมา ทำไมเว็บไซต์ขของเราถึงไม่แสดงข้อความให้อัพเดทได้

เมื่อไรก็ตามที่อัพเดทได้ถูกปล่อยออกมาจาก WordPress จะมีการแจ้งเตือนว่าเวอร์ชั่นใหม่ได้ออกมาแล้วที่หน้าบริการจัดการเว็บไซต์ (Administration screens) โดยแจ้งว่า WordPress x.x.x สามารถใช้งานได้แล้ว สามารถทำการอัพเดทได้ตอนน้ (WordPress x.x.x is available! Please update now.) ซึ่งข้อความนี้จะไม่ถูกแจ้งพร้อมกันในแต่ละเว็บไซต์ เพราะระบบของ WordPress จะทำการตรวจสอบในทุกๆ 12 ชั่วโมงในลักษณะสุ่ม ถ้าในกรณีพึ่งถูกตรวจสอบว่ามีเวอร์ชั่นใหม่หรือไม่ แล้วพบว่าไม่มี ก่อนที่ระบบจริงจะทำการปล่อยเวอร์ชั่นใหม่ออกมา เราก็จะมองไม่เห็นข้อความดังกล่าวจนกว่าจะครบ 12 ชั่วโมงถัดมา

ถ้าราต้องการให้เว็บของเราทำการตรวจสอบการอัพเดทเดี๋ยวนี้ เราสามารถทำได้โดยทำการลบชื่อ update_core ในตาราง wp_options ครับ ในส่วนขของธีมและปลีกอินก็ควบคุมโดย update_plugins และ update_themes ในตาราง wp_options เช่นเดียวกัน

ทำไมเวลาทำการอัพเดท โค้ดที่เราเปลี่ยนใน WordPress Theme ถึงหายไป

การอัพเกรดหลักจะทำการก๊อบปี้ไฟล์ใหม่ทั้งหมดจากระบบที่ให้ดาวน์โหลดและจะทำการทับไฟล์เก่าที่เรามี หากเราทำการเปลี่ยนแปลงไฟล์ธีม เช่น ไฟล์สไตล์ (wp-content/themes/twentytwenty/style.css) ไฟล์นี้ก็จะถูกทดแทนด้วยไฟล์เวอร์ชั่นใหม่ทันที

ไฟล์ที่จะถูกอัพเกรดนั้นจะอยู่ในรายการไฟล์ wp-admin/includes/update-core.php ส่วนที่อยู่นอกรายการจะไม่ถูกทับ

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

ปรึกษาด้านเว็บไซต์
ปรึกษาด้านเว็บไซต์

เราจะทำการซ่อมแซมฐานข้อมูล MySQL ได้อย่างไร

ในบางกรณีเราอาจเกิดปัญหากับระบบฐานข้อมูล MySQL ซึ่งเราจำเป็นที่จะต้องทำการซ่อมแซมฐานข้อมูลดังกล่าว ตัวอย่างของการแสดงว่าข้อผิดพลาดเกี่ยวกับฐานข้อมูลเช่น tbl_name is locked against change. Can’t find file tbl_name.MYI (ErrCode/:nnn) หรือ Unexpected end of file หรือ Record file is crashed หรือ Got error nnn from table handler

วิธีการซ่อมแซมตารางฐานข้อมูล SQL ด้วยการใช้ phpMyAdmin มีดังนี้

  1. เข้าสู่ระบบโฮสติ้งผ่านบัญชีการใช้งานที่ได้จากบริษัทโฮสติ้งตอนทำการสั่งซื้อ
  2. ค้นหาเมนู phpMyAdmin และเข้าสู่ระบบการจัดการ phpMyAdmin
  3. ทำการเลือกฐานข้อมูลที่เกิดปัญหา ถ้าเรามีเพียงหนึ่งฐานข้อมูลระบบจะทำการเลือกให้อยู่แล้ว เราไม่จำเป็นต้องทำอะไร
  4. ในหน้าหลัก เราจะเห็นรายการตารางฐานข้อมูล เลือกตารางที่ต้องการซ่อมแซม
  5. ด้านล่างสุดของหน้าจอใต้ตารางนั้น เราจะเห็นเมนูให้เลือก ให้เราเลือก Repair Table เพื่อทำการซ่อมแซมตารางครับ

หมายเหตุ ในการซ่อมแซมตารางนี้ เราควรที่จะทำการแบ็คอัพฐานข้อมูลให้เรียบร้อยก่อนทำการแก้ไขนะครับ

WordPress ส่งอีเมล์รหัสผ่านหรือพาสเวิร์ดให้กับผู้ใช้งาน แต่ไม่ได้รับ

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

สาเหตุเนื่องจาก WordPress นั้นใช้ฟังก์ชั่นพื้นฐานของ php ที่ชื่อ mail() ในการทำการส่งเมล์ซึ่งการจัดส่งดังกล่าวข้อมูลเกี่ยวกับบัญชีไม่จำเป็นต้องใช้ โดยทั่วไปจะไม่เป็นปัญหาหากการส่งเมล์นั้นใช้บริการผ่านบริษัทโฮสติ้ง แต่ถ้าเราใช้เมล์ของเราเองและไม่มี SMTP Server อีเมล์จะไม่ส่ง ดังนั้นเราจะต้องทำการตั้งค่าระบบให้ถูกต้อง

ทำไมไม่สามารถเห็นบทความของฉัน แต่เห็นข้อความ Sorry, no posts match your criteria

ปัญหานี้เราสามารถแก้ไขได้ด้วยการเคลียร์แคชและคุ๊กกี้ที่อยู่ในเบราเซอร์ (Clearing your browser cache and cookies) ก็จะทำให้ปัญหาที่เกิดขึ้นหมดไปครับ

เราจะแก้ปัญหา Headers แจ้งเตือนปัญหาได้อย่างไร

ในบางครั้งเราอาจจะเจอปัญหาเบราเซอร์ของเราทำการแจ้งเตือนปัญหาดังนี้

Warning: Cannot modify header information - headers already sent by (output started at

สาเหตุที่เป็นเช่นนี้เพราะในไฟล์ php บางไฟล์มีช่องว่างบรรทัดใหม่ ก่อนการเปิดแท็ก <?php โดยทั่วไปจะเป็นไฟล์ wp-config.php แต่ก็อาจจะเป็นไฟล์อื่นได้เช่นกัน ดังนั้นเราจำเป็นต้องเช็คข้อความผิดพลาดที่แจ้งเตือนว่ามีรายการไฟล์ใดบ้าง แล้วให้ทำการแก้ไขไฟล์นั้นด้วยการลบช่องว่างบรรทัดใหม่นั้น หรือนำไฟล์แบ็คอัพมาแทนไฟล์ดังกล่าว และตอนทำการบันทกไฟล์ให้ดู file encoding ว่าไม่ใช่ UTF-8 BOM แต่จะต้องเป็น plain UTP-8

อีกส่วนหนึ่งที่สำคัญก็คือ ในการเขียนไฟล์ php ควรที่จะมีไฟล์ php แค่ 1 ชุดเท่านั้น ห้ามที่จะมีมากกว่า 1 ชุด ตามตัวอย่าง

แบบที่ผิด มีการเปิดและปิดแท็ก php 2 ชุด

<?php some code; ?> <?php some other codes; ?>

แบบที่ถูกมีเพียงชุดเดียว

<?php code; some other code; ?>

วิธีการแปลข้อความผิดพลาด Error Message

ถ้าข้อความผิดพลาดแสดงดังนี้

Warning: Cannot modify header information - headers already sent by (output started at /path/blog/wp-config.php:34) in /path/blog/wp-login.php on line 42

เราจะต้องทำการแก้ไขในไฟล์ wp-config.php ที่บรรทัดที่ 34 ของไฟล์ wp-config.php ไม่ใช่บรรทดที่ 42 ของไฟล์ wp-login.php และปัญหาก็คือพื้นที่ว่าง whitespace ที่บรรทัดที่ 34 ของไฟล์ wp-config.php ครับ

ทำไมปุ่ม Publish หรือ Save Draft ไม่สามารถทำงานได้

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

วิธีการแก้ไขปัญหาข้อผิดพลาด 404 error เมื่อใช้ Pretty Permalinks

ในกรณีที่เกิดปัญหาแสดงข้อผิดพลาด 404 error เมื่อเราทำการใช้ Pretty Permalink เช่น การเลือกแบบวันและชื่อในหน้าการตั้งค่า Administration > Settings > Settings Permalinks Screen สาเหตุเกิดจากโมดูลที่ชื่อ mod_rewrite ไม่ได้เปิดใช้งาน ให้เราทำการเปิดใช้งานใน Apache web-server โดยทำการตรวจสอบไฟล์ apache\conf\httd.conf ในหัวข้อ # LoadModule rewrite_module moduules/mod_rewrite.so โดยให้เอาเครื่องหมาย # ออก แล้วทำการปิดและเปิด Apache อีกครั้ง ในกรณีที่เราไม่สามารถทำการแก้ไขไฟล์นี้ได้ ให้ทำการสอบถามโฮสติ้งของเราเพื่อทำการแก้ไข

สอน WordPress หรือ WooCommerce
สอน WordPress หรือ WooCommerce

ทำไมผู้ใช้งานที่เป็นแอดมิน (Admin) ถึงไม่ถูกแสดงเป็นชื่อผู้เขียน (Author) ทั้งที่ทำการแก้ไขบทความนั้น

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

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

อ้างอิงเอกสาร FAQ Troubleshooting