WP-CLI คืออะไร และเหตุใดจึงเป็นเครื่องมือที่นักพัฒนา WordPress ต้องมี
WP-CLI (WordPress Command Line Interface) คือ Command Line Interface ที่ให้คุณสามารถจัดการ WordPress ได้ผ่าน Terminal หรือ SSH shell แทนการใช้ WordPress Admin Panel ซึ่งหมายความว่าคุณสามารถติดตั้ง Plugin ลบเว็บไซต์ เปลี่ยน URL ในฐานข้อมูล และจัดการ WordPress ได้ลึกขึ้นไปถึงระดับ Database ทั้งหมด โดยไม่ต้องตั้งหน้า Admin Panel
จุดเด่นของ WP-CLI คือความเร็วและประสิทธิภาพ ทำงานได้เร็วกว่า Admin Panel 10 เท่า เพราะไม่ต้อง load หน้า HTML, CSS, JavaScript และภาพประกอบ ทั้งหมด เพียงแค่รันคำสั่ง text หากคุณต้องการอัพเดท Plugin 50 ตัว WP-CLI สามารถทำให้เสร็จใน 10 วินาที แต่ Admin Panel อาจใช้เวลา 5-10 นาที
WP-CLI ปี 2026: ฉบับปัจจุบัน 2.10+ รองรับ WordPress 6.4+ แต่ยังทำงานได้กับ WordPress เก่า ตั้งแต่ 3.7 ขึ้นไป ไม่มีค่าใช้จ่ายและเป็น Open Source เต็มตัว
นักพัฒนา, System Administrator และผู้ดูแล WordPress Site ระดับสูงนิยมใช้ WP-CLI อยู่เสมอ เพราะช่วยให้สามารถดำเนินการบน WordPress ได้แบบ Batch (จำนวนมาก) ในครั้งเดียว เช่น การค้นหาและแทนที่ URL ทั่วทั้ง Database, ส่วนออกรายงาน WordPress Setting ของไซต์, หรือการ Backup Database ได้อย่างรวดเร็ว ไม่ต้องสำรองข้อมูล Plugin หรืออาศัย DirectAdmin Control Panel
ติดตั้ง WP-CLI บน Linux VPS ด้วย DirectAdmin
WP-CLI ไม่ได้มาพร้อมกับ WordPress หรือ DirectAdmin Control Panel โดยอัตโนมัติ คุณต้องติดตั้งด้วยตนเองบน Server ของคุณผ่าน SSH ขั้นตอนนี้ง่ายมากและใช้เวลาเพียง 1-2 นาทีเท่านั้น
ขั้นตอนที่ 1: SSH เข้า VPS ของคุณ
ก่อนอื่นเข้า SSH ไปยัง Server ของคุณด้วย SSH Client (PuTTY, Terminal, หรือ iTerm) แล้วใช้ root user หรือ user ที่มี sudo access
ssh root@[IP-ของ-VPS] หรือ ssh [username]@[IP-ของ-VPS]
ขั้นตอนที่ 2: ดาวน์โหลดและติดตั้ง WP-CLI
รันคำสั่งต่อไปนี้เพื่อดาวน์โหลด WP-CLI และวางไว้ใน /usr/local/bin/
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.pharchmod +x wp-cli.pharsudo mv wp-cli.phar /usr/local/bin/wp
ขั้นตอนที่ 3: ตรวจสอบการติดตั้ง
รันคำสั่ง wp --version เพื่อตรวจสอบว่า WP-CLI ติดตั้งได้สำเร็จแล้ว ผลที่ได้ควรแสดง version ของ WP-CLI เช่น WP-CLI 2.10.0
หมายเหตุ: หากคุณใช้ Shared Hosting จริงๆ แล้ว บางผู้ให้บริการอาจมี WP-CLI ติดตั้งมาแล้ว คุณสามารถทดสอบได้โดยรันคำสั่ง wp --version หรือติดต่อ Support ของคุณเพื่อขอให้ติดตั้งให้ หากไม่มี SSH access ก็ไม่สามารถใช้ WP-CLI ได้
คำสั่ง WP-CLI พื้นฐาน — ติดตั้ง, อัพเดต, และจัดการ WordPress
เมื่อติดตั้ง WP-CLI เสร็จแล้ว คุณสามารถใช้คำสั่งต่างๆ ได้ รายการต่อไปนี้คือคำสั่งที่ใช้บ่อยที่สุด
คำสั่ง WordPress Core
คำสั่งเหล่านี้ใช้สำหรับจัดการ WordPress Core (ตัว WordPress เอง)
wp core version— ดูเวอร์ชัน WordPress ปัจจุบันwp core update— อัพเดท WordPress Core ไปเวอร์ชันใหม่สุดwp core update-db— อัพเดท WordPress Database หลังจาก Core Updatewp core verify-checksums— ตรวจสอบว่าไฟล์ WordPress Core ถูกแก้ไขหรือไม่ (สำหรับตรวจสอบ Hack)wp core config— สร้างไฟล์ wp-config.php อัตโนมัติ
คำสั่ง Plugin
คำสั่งเหล่านี้ใช้สำหรับจัดการ Plugin
wp plugin list— แสดงรายชื่อ Plugin ทั้งหมด พร้อมสถานะ (Active/Inactive)wp plugin install hello-dolly— ติดตั้ง Plugin (ชื่อ plugin ต้องตรงกับ repository)wp plugin activate hello-dolly— เปิดใช้งาน Pluginwp plugin deactivate hello-dolly— ปิดใช้งาน Pluginwp plugin delete hello-dolly— ลบ Plugin ออกwp plugin update --all— อัพเดท Plugin ทั้งหมดในครั้งเดียวwp plugin search woocommerce— ค้นหา Plugin ใน WordPress.org Repository
คำสั่ง Theme
คำสั่งเหล่านี้ใช้สำหรับจัดการ Theme
wp theme list— แสดงรายชื่อ Theme ทั้งหมดwp theme install twentytwentyfour— ติดตั้ง Theme ใหม่wp theme activate twentytwentyfour— เปิดใช้งาน Themewp theme update --all— อัพเดท Theme ทั้งหมดwp theme delete twentytwentythree— ลบ Theme ที่ไม่ใช้
คำสั่ง User
คำสั่งเหล่านี้ใช้สำหรับจัดการ WordPress User
wp user list— แสดงรายชื่อ User ทั้งหมดwp user create username [email protected] --role=editor— สร้าง User ใหม่ด้วย Role ที่กำหนดwp user delete username— ลบ User ออกwp user set-role username administrator— เปลี่ยน Role ของ Userwp user list --field=user_login— แสดงเฉพาะ username ของทุก User
Search-Replace — เปลี่ยน URL เมื่อย้ายไซต์
คำสั่งที่มีประโยชน์มากที่สุดของ WP-CLI ก็คือ wp search-replace ซึ่งช่วยให้คุณสามารถค้นหาและแทนที่ข้อความทั่วทั้ง WordPress Database ได้อย่างรวดเร็ว นี่มีประโยชน์สุดๆ เมื่อคุณย้าย WordPress จากโดเมน (หรือ URL) เก่าไปโดเมนใหม่
ตัวอย่าง: เปลี่ยน Home URL จาก old-domain.com เป็น new-domain.com
wp search-replace 'https://old-domain.com' 'https://new-domain.com'
หลังรันคำสั่งนี้ WP-CLI จะค้นหา URL เก่าทั้งหมดในฐานข้อมูล (Posts, Pages, URLs ใน HTML Content เป็นต้น) แล้วแทนที่ด้วย URL ใหม่อัตโนมัติ ซึ่งเร็วกว่า Admin Panel ที่ต้องใช้ Plugin เพิ่มเติมหรือแก้ไขแบบ Manual
ตัวอย่างอื่นๆ
wp search-replace 'oldtext' 'newtext'— ค้นหาและแทนที่ข้อความธรรมดาwp search-replace 'old' 'new' --dry-run— ทดสอบ Search-Replace โดยไม่บันทึกการเปลี่ยนแปลงwp search-replace 'old' 'new' --global-tables— ทำการ Search-Replace บนทั้ง WordPress Tables (Multi-site)
คำเตือน: ก่อนรัน wp search-replace ควร Backup Database ก่อนเสมอ ใช้ option --dry-run เพื่อทดสอบโดยไม่บันทึก หากผลลัพธ์ถูกต้องจึงรันแบบจริง
Backup Database — ส่วนออกและอัพเดท Database
WP-CLI มีคำสั่งสำหรับทำ Backup WordPress Database ได้อย่างง่ายดาย ซึ่งสำคัญมากก่อนทำการเปลี่ยนแปลงต่างๆ บน WordPress
ส่งออก Database ไป SQL File
wp db export /home/backups/wordpress-backup-$(date +%Y-%m-%d).sql
คำสั่งนี้จะส่วนออก WordPress Database ไป SQL File ในโฟลเดอร์ /home/backups/ พร้อมกับชื่อไฟล์ที่มีวันที่ (เช่น wordpress-backup-2026-06-21.sql)
นำเข้า Database จาก SQL File
wp db import /home/backups/wordpress-backup-2026-06-21.sql
คำสั่งนี้จะนำเข้า Database จาก SQL File ที่มีอยู่ (สำหรับการ Restore)
คำสั่ง Database อื่นๆ
wp db show-tables— แสดงรายชื่อทุก Table ในฐานข้อมูลwp db query "SELECT COUNT(*) FROM wp_posts"— รัน SQL Query ที่กำหนดเองwp db repair— ซ่อม Database หากเกิดการเสียหายwp db optimize— เพิ่มประสิทธิภาพ Database (defragment)
Cron Jobs — จัดตั้งการทำงานแบบกำหนดเวลา
WordPress มี Built-in Cron System สำหรับการเรียกใช้งาน Scheduled Tasks (เช่น Auto Update, Backup, Cleanup ฯลฯ) WP-CLI ช่วยให้คุณสามารถทดสอบและจัดการ Cron Tasks ได้ง่าย
แสดงรายชื่อ Scheduled Events
wp cron event list
คำสั่งนี้จะแสดง Scheduled Events ทั้งหมดที่ WordPress มี พร้อมเวลาที่จะทำงาน
รัน Scheduled Event ทันที
wp cron event run wp_scheduled_auto_core_update
นี่มีประโยชน์สำหรับการทดสอบ Cron Jobs ที่ไม่ต้องรอจนถึงเวลาที่กำหนด
Multisite Commands — จัดการ WordPress Multisite
หากคุณใช้ WordPress Multisite (เว็บไซต์หลายเว็บที่แชร์ WordPress Code เดียวกัน) WP-CLI มีคำสั่งเฉพาะสำหรับการจัดการ Multisite
คำสั่ง Multisite
wp site list— แสดงรายชื่อทุกเว็บไซต์ใน Multisitewp site create --slug=newsite --title='New Site'— สร้างเว็บไซต์ใหม่ใน Multisitewp site delete 2— ลบเว็บไซต์ (ID=2) ออกwp site empty 2— ลบ Content ของเว็บไซต์ ID 2 ออก (เก็บฐานข้อมูลไว้)wp site list --field=domain— แสดงเฉพาะ Domain ของทุกเว็บไซต์
Batch Operations — ทำงานจำนวนมากในครั้งเดียว
จุดเด่นของ WP-CLI คือความสามารถในการ Batch Operations ซึ่งหมายความว่าคุณสามารถทำงานจำนวนมากในครั้งเดียว โดยใช้ Shell Script
ตัวอย่าง: ลบ Post ทั้งหมด
wp post delete $(wp post list --post_type=post --format=ids) --force
คำสั่งนี้จะค้นหา ID ของ Post ทั้งหมด แล้วลบออก โดยขั้นแรก wp post list --post_type=post --format=ids จะคืนค่า ID ทั้งหมด จากนั้น wp post delete จะลบทั้งหมด
ตัวอย่าง: เปิดใช้งาน Plugin ทั้งหมด
wp plugin activate --all
ตัวอย่าง: อัพเดท WordPress Core, Plugins และ Themes พร้อมกัน
wp core update && wp plugin update --all && wp theme update --all
WP-CLI vs WordPress Admin Panel — เปรียบเทียบความเร็ว
นี่คือเปรียบเทียบความเร็วระหว่าง WP-CLI กับ Admin Panel ในการทำงานทั่วไป
| การทำงาน | WP-CLI (เวลา) | Admin Panel (เวลา) | เร็วกว่า |
|---|---|---|---|
| อัพเดท Core WordPress | 5 วินาที | 2-3 นาที | 30x เร็วกว่า |
| อัพเดท 10 Plugin | 10 วินาที | 3-5 นาที | 20x เร็วกว่า |
| ลบ 100 Post | 15 วินาที | 10-15 นาที | 40x เร็วกว่า |
| Search-Replace URL ทั่ว Database | 5 วินาที | 2-5 นาที (ต้องใช้ Plugin) | 25x เร็วกว่า |
| ติดตั้ง 20 Plugin | 20 วินาที | 10-15 นาที | 35x เร็วกว่า |
| Backup Database | 3 วินาที | 5-10 นาที (ต้องใช้ Plugin) | 100x เร็วกว่า |
ดังที่เห็นได้ WP-CLI เร็วกว่า Admin Panel ได้ 20-100 เท่า ขึ้นอยู่กับการทำงาน โดยเฉพาะการทำงานประเภท Batch (จำนวนมาก) WP-CLI ถูกต้องมากขึ้นและไม่เกิด Error อันเนื่องมาจากการ Timeout ของ Browser หรือการรีเฟรชหน้า
Shell Script — ประมวลผลอัตโนมัติ
คุณสามารถเขียน Bash Shell Script เพื่อประมวลผล WP-CLI Commands อัตโนมัติ ตัวอย่างเช่น
ตัวอย่าง: Backup Daily
#!/bin/bash
DATE=$(date +%Y-%m-%d)
wp db export /home/backups/wp-backup-$DATE.sql
echo "Backup completed: /home/backups/wp-backup-$DATE.sql"
Script นี้จะสร้าง Backup ของ WordPress Database ทุกวัน เมื่อคุณตั้งเป็น Cron Job ที่รัน Daily (เวลา 02:00 น. เช่น)
ตัวอย่าง: อัพเดตรายใหญ่
#!/bin/bash
wp plugin update --all
wp theme update --all
wp core update
wp core update-db
echo "WordPress updated successfully"
Script นี้จะอัพเดต WordPress Core, Plugins และ Themes ทั้งหมดในครั้งเดียว ปลอดภัยเพราะทำกระบวนการ Update DB ด้วย
เคล็ดลับ: เมื่อเขียน Script อย่างนี้ ควรบันทึกเป็นไฟล์ .sh แล้วกำหนด Permission เป็น 755 เพื่อให้สามารถรันได้ จากนั้นตั้ง Cron Job ใน Server เพื่อให้รันอัตโนมัติตามตารางเวลา
ข้อดีและข้อเสียของ WP-CLI
WP-CLI เป็นเครื่องมือที่มีประสิทธิภาพ แต่ไม่ใช่ตัวเลือกที่เหมาะสมสำหรับทุกคน นี่คือข้อดีและข้อเสียที่คุณควรรู้
ข้อดี
- ความเร็ว: เร็วกว่า Admin Panel 10-100 เท่า
- Batch Operations: สามารถทำงานจำนวนมากในครั้งเดียว
- Automation: สามารถสร้าง Script เพื่อประมวลผลอัตโนมัติได้
- Remote Management: สามารถจัดการ WordPress จากอื่นแห่งด้วย SSH
- ฟรี: Open Source ไม่มีค่าใช้จ่าย
- Support โดยทีม WordPress: พัฒนาโดย Automattic ได้รับการสนับสนุนอย่างดี
ข้อเสีย
- ต้องมี SSH Access: Shared Hosting บางแห่งไม่มี SSH Access
- ไม่ใช่สำหรับมือใหม่: ต้องมีความเข้าใจพื้นฐาน Command Line
- ต้องติดตั้งด้วยตนเอง: ไม่มาพร้อมกับ WordPress
- ไม่มี GUI: ต้องจำคำสั่ง ไม่มี Interface ที่ Visual
- อาจเสี่ยงต่อ Error: ถ้าคุณใช้คำสั่งผิด อาจทำให้เสียหายได้
สรุป: WP-CLI เป็นเครื่องมือที่ยอดเยี่ยมสำหรับนักพัฒนา Sysadmin และผู้บริหารไซต์ WordPress ที่ต้องการความเร็วและประสิทธิภาพ หากคุณสมดุลการใช้งาน WP-CLI นั่นจะช่วยให้คุณประหยัดเวลาได้หลายชั่วโมงต่อสัปดาห์ โดยเฉพาะหากต้องจัดการ WordPress Site หลายเว็บ
เริ่มต้นกับ AsiaGB VPS ด้วย SSH Access
VPS ที่พร้อม SSH Access, DirectAdmin Control Panel, และสนับสนุน WP-CLI การจัดการ WordPress ได้อย่างลึกขึ้น ประสิทธิภาพสูง Uptime 99% SSD Storage
ดูแผน VPS