ไฟล์ wp-config.php เปรียบเสมือนหัวใจสำคัญของเว็บไซต์ WordPress นอกจากข้อมูลการเชื่อมต่อฐานข้อมูลแล้ว เรายังสามารถเพิ่มค่าคงที่ (Constants) ต่างๆ เพื่อปรับแต่งความปลอดภัย, จัดการทรัพยากร, ควบคุมโหมดดีบัก และกำหนดเส้นทางไฟล์ได้อย่างอิสระ
บทความนี้ได้รวบรวมรายการค่าคอนฟิกูเรชันที่ขึ้นต้นด้วย WP_ ทั้งหมด รวมถึงค่าเสริมที่จำเป็นสำหรับการบริหารจัดการระบบขั้นสูง นำมาจัดหมวดหมู่เพื่อให้หยิบไปใช้งานได้ง่าย ดังนี้ครับ
หมวดการดีบักและแก้ไขปัญหา (Debugging & Development)
สำหรับนักพัฒนาหรือผู้ดูแลระบบที่ต้องการตรวจสอบข้อผิดพลาดของเว็บไซต์
WP_DEBUG
เปิด/ปิด โหมดดีบักหลักของระบบ (true/false)WP_DEBUG_DISPLAY
ควบคุมการแสดงผล Error / Notice บนหน้าจอเว็บไซต์โดยตรงWP_DEBUG_LOG
บันทึกข้อผิดพลาดทั้งหมดลงในไฟล์wp-content/debug.logบนเซิร์ฟเวอร์โดยอัตโนมัติWP_DEBUG_BACKTRACE_LIMIT
กำหนดระดับความลึกของการแสดงผล Stack Trace เมื่อเกิด Error (เช่น10)WP_DISABLE_FATAL_ERROR_HANDLER
ปิดตัวจัดการข้อผิดพลาดร้ายแรง (Fatal Error Handler) ของ WordPress กรณีต้องการดูข้อผิดพลาดแบบดิบWP_SANDBOX_SCRAPING
ปิดการตรวจสอบ Fatal Error ชั่วคราวขณะอัปเดตปลั๊กอินหรือธีมWP_ENVIRONMENT_TYPE
ระบุสภาพแวดล้อมของเว็บไซต์ เช่นproduction,staging, หรือdevelopment
หมวดจัดการเส้นทางไฟล์ ภาษา และ URL (Paths, Lang & URLs)
มีประโยชน์มากสำหรับการย้ายโฮสต์, การทำ Custom Directory Structure หรือการตั้งค่าภาษา
WP_HOME
กำหนด URL หน้าแรกของเว็บไซต์ที่ผู้ใช้งานมองเห็นWP_SITEURL
กำหนด URL ที่ติดตั้งไฟล์ WordPress Core จริงๆWP_CONTENT_DIR
เปลี่ยนโฟลเดอร์เก็บข้อมูลwp-contentไปยังพาธอื่นบน ServerWP_CONTENT_URL
กำหนด URL ของโฟลเดอร์wp-contentให้ตรงกับพาร์ทใหม่WP_PLUGIN_DIR
กำหนดโฟลเดอร์สำหรับเก็บปลั๊กอินWP_PLUGIN_URL
กำหนด URL ของโฟลเดอร์ปลั๊กอินWP_LANG_DIR
กำหนดโฟลเดอร์สำหรับเก็บไฟล์ภาษาของระบบWP_LANG
กำหนดภาษาเริ่มต้นของเว็บไซต์ (ปัจจุบันนิยมตั้งผ่านหน้า Dashboard มากกว่า)
หมวดจำกัดทรัพยากร แคช และอัปเดตระบบ (Memory, Cache & Updates)
ช่วยปรับแต่งการใช้หน่วยความจำ RAM จัดการระบบแคช และควบคุมความปลอดภัยรอบด้าน
WP_MEMORY_LIMIT
กำหนดขีดจำกัดหน่วยความจำ RAM สำหรับการใช้งานทั่วไป (เช่น256Mหรือ512M)WP_MAX_MEMORY_LIMIT
กำหนดขีดจำกัดหน่วยความจำ RAM สูงสุดสำหรับหน้า Admin หรือการประมวลผลหนัก (เช่น512M)WP_AUTO_UPDATE_CORE
ควบคุมการอัปเดต Core ของ WordPress แบบอัตโนมัติ (เลือกเปิดทั้งหมด, ปิดทั้งหมด, หรืออัปเดตเฉพาะ Minor Version)WP_POST_REVISIONS
กำหนดจำนวนการเก็บบันทึกประวัติการแก้ไขโพสต์ เพื่อไม่ให้ฐานข้อมูลบวมโต (เช่นกำหนดเป็นตัวเลข หรือใส่falseเพื่อปิด)WP_CACHE_KEY_SALT
ใช้กำหนดค่า Salt สำหรับ Object Cache (เช่น Redis / Memcached) เพื่อป้องกันข้อมูลตีกันกรณีใช้เซิร์ฟเวอร์เดียวกันหลายเว็บไซต์
หมวดความปลอดภัย การเชื่อมต่อเครือข่าย และเครื่องมือระบบ (Security, Network & Tools)
WP_HTTP_BLOCK_EXTERNAL
ปิดกั้นไม่ให้ WordPress เชื่อมต่อไปยัง Server ภายนอกผ่าน HTTP โดยอัตโนมัติเพื่อความปลอดภัยWP_ACCESSIBLE_HOSTS
ข้อยกเว้นโดเมนภายนอกที่อนุญาตให้เชื่อมต่อได้ (ใช้งานร่วมกับตัวบล็อกด้านบน)WP_ALLOW_REPAIR
เปิดใช้งานหน้าจอซ่อมแซมและปรับแต่งฐานข้อมูลพิเศษ (/wp-admin/maint/repair.php)WP_ALLOW_MULTISITE
เปิดใช้งานฟังก์ชันสำหรับสร้างเครือข่ายเว็บไซต์แบบ Network / MultisiteWP_CLI
ใช้ตรวจสอบหรือระบุสถานะการทำงานผ่านระบบคอมมานด์ไลน์ WP-CLI
หมวดการตั้งค่าผ่าน Proxy Server (Network Proxy Settings)
สำหรับเซิร์ฟเวอร์ที่อยู่ในองค์กรหรือระบบปิดซึ่งจำเป็นต้องเชื่อมต่ออินเทอร์เน็ตผ่าน Proxy Server
WP_PROXY_HOST
ระบุ Host หรือ IP ของ Proxy ServerWP_PROXY_PORT
ระบุ Port ของ Proxy ServerWP_PROXY_USERNAME
ชื่อผู้ใช้งานสำหรับเชื่อมต่อ Proxy (ถ้ามี)WP_PROXY_PASSWORD
รหัสผ่านสำหรับเชื่อมต่อ Proxy (ถ้ามี)WP_PROXY_BYPASS_HOSTS
กำหนดโดเมนที่ไม่ให้วิ่งผ่าน Proxy (ข้ามไปเชื่อมต่อตรง)
💡 ข้อควรระวังก่อนแก้ไขไฟล์ wp-config.php
- สำรองข้อมูลเสมอ
ก่อนทำการแก้ไขหรือเพิ่มค่าคอนฟิกใด ๆ ควร Backup หรือทำ Snapshot ไฟล์wp-config.phpไว้ทุกครั้ง เพื่อป้องกันข้อผิดพลาดที่อาจทำให้เว็บไซต์เข้าใช้งานไม่ได้ (White Screen of Death) - ตำแหน่งการวางโค้ด
ควรวางค่าคงที่เหล่านี้ไว้ ก่อนบรรทัด ที่เขียนว่า/* That's all, stop editing! Happy publishing. */
เสมอ เพื่อให้ระบบโหลดค่าคอนฟิกก่อนเริ่มทำงานครับ
อ่านเพิ่มเติม
- jQuery: 4.0.0 เกิดใหม่ แต่เหมือนแจ้งตาย
- Java 16 (2021): Records (คลาสข้อมูลแบบ Immutable ที่ประกาศกระชับ ไม่ต้องเขียน Getter/Setter เอง) และ Pattern Matching สำหรับ instanceof
- Java 15 (2020): Sealed Classes (การจำกัดสิทธิ์ว่าคลาสใดสามารถสืบทอดได้บ้าง) และ Hidden Classes
- MacOs: จัดการจอในจอนอกด้วย BetterDisplay
- Testing: ส่งเมล์ผ่าน command