終結滑鼠手!資深工程師的 WP-CLI 神兵利器,讓你的 WordPress 管理效率原地起飛!
嗨,我是浪花科技的 Eric。身為一個每天在 WordPress 世界裡打滾的工程師,我必須承認,有些事情做久了真的會膩,特別是那些重複性的點擊操作。你有沒有過這種經驗:要更新 20 個外掛,就得在後台一個一個點擊「更新」;要安裝一個新佈景主題,得經過上傳、安裝、啟用一連串的滑鼠體操;更別提網站搬家時,改個網址要動到資料庫,那種深怕改錯一個字整個網站就爆炸的恐懼感。
今天,我要跟你分享一個能徹底改變你 WordPress 工作流程的神兵利器——WP-CLI。老實說,這東西一旦你開始用了,就真的回不去了。它能讓你從圖形介面的束縛中解放出來,用幾行簡單的指令,完成過去需要數分鐘甚至數小時才能搞定的任務。準備好了嗎?讓我們一起進入 WordPress 的「駭客任務」模式吧!
什麼是 WP-CLI?為什麼每個 WordPress Pro 都該學?
WP-CLI 的全名是 WordPress Command-Line Interface,簡單來說,它就是一個能讓你透過「命令列」(就是那個看起來很酷的黑底白字視窗)來管理 WordPress 網站的工具。你可能會想:「蛤?有漂亮的圖形化後台不用,為什麼要用那個看起來像上個世紀產物的東西?」
問得好!這就是工程師的囉嗦時間了。圖形介面(GUI)雖然直觀,但在處理大量、重複性或精密的任務時,效率極低。WP-CLI 的優勢在於:
- 速度與效率: 一行指令可以完成 GUI 中數十次點擊才能完成的工作。例如,一次更新所有外掛,一行
wp plugin update --all就搞定。快到讓你懷疑人生。 - 自動化與批次處理: 你可以將一系列 WP-CLI 指令寫成一個腳本(Script),讓它自動執行。想像一下,每天凌晨自動備份資料庫、更新外掛、並清除快取,是不是很夢幻?
- 網站救援神器: 當你的網站因為某個外掛或主題出錯,導致「死亡白畫面」(White Screen of Death),連後台都進不去時,怎麼辦?WP-CLI 就是你的救世主。你可以透過 SSH 連線,用指令強制停用那個出問題的外掛,讓網站起死回生。這可是 GUI 辦不到的!
- 精準的資料庫操作: 網站搬家最怕的就是網址沒換乾淨。WP-CLI 的
search-replace指令能完美處理 PHP 序列化資料,這是直接在 phpMyAdmin 裡用 SQL 語法取代做不到的。信我一句,它能拯救你的無數個夜晚。
總之,學習 WP-CLI 是從「WordPress 使用者」晉升為「WordPress 管理者/開發者」的必經之路。它能大幅提升你的工作效率,讓你把時間花在更有價值的事情上,而不是無盡的點擊。
開始前的準備:你需要什麼?
在我們開始之前,有幾個小小的門檻。別擔心,不難,但這是必要的基礎建設。
- SSH 存取權限: WP-CLI 是在伺服器上執行的,所以你需要透過 SSH (Secure Shell) 連線到你的主機。大部分優質的虛擬主機商(例如 Cloudways, Kinsta)都會提供 SSH 存取權限。如果你的主機沒有,或許是時候考慮升級了。
- 基本的命令列知識: 你至少需要知道如何使用
cd切換目錄、ls查看檔案列表。如果你對此完全陌生,可以花個 10 分鐘看一下網路上的基礎教學,這對你未來的工程師之路絕對有幫助。
安裝 WP-CLI:三步驟搞定
安裝 WP-CLI 通常非常簡單。只要跟著以下步驟,你就能在伺服器上擁有這個強大的工具。
步驟一:下載 wp-cli.phar 檔案
透過 SSH 登入你的主機後,執行以下指令:
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
這個指令會從 WP-CLI 的官方 GitHub 儲存庫下載最新的穩定版本。
步驟二:賦予執行權限並移動到系統路徑
下載下來的只是一個檔案,我們需要讓它變成一個可執行的程式,並把它放到一個系統能隨時找到的地方,這樣你才能在任何目錄下直接使用 wp 指令。
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
第一行 chmod +x 是賦予它執行的權限。第二行 sudo mv 是用系統管理員權限,把它移動到 /usr/local/bin 這個目錄下,並重新命名為 wp。這樣一來,系統就知道 wp 是一個全域指令。
步驟三:驗證安裝
最後,輸入以下指令來看看是否安裝成功:
wp --info
如果你看到一堆關於 PHP、MySQL 版本和 WP-CLI 自身版本的資訊,恭喜你,安裝成功!你已經打開了新世界的大門。
WP-CLI 實戰演練:從日常管理到緊急救援
光說不練假把戲,接下來讓我們看看幾個最常用、最實用的 WP-CLI 指令,讓你感受一下它的威力。
核心、外掛與佈景主題管理
忘掉在後台一個一個點擊的日子吧!
- 檢查 WordPress 核心版本:
wp core version - 更新 WordPress 核心:
wp core update - 列出所有外掛及其狀態:
wp plugin list - 安裝並啟用一個外掛(例如 WooCommerce):
wp plugin install woocommerce --activate - 一次更新所有外掛:
wp plugin update --all - 停用某個外掛(網站掛掉時的救星):
wp plugin deactivate akismet - 刪除某個佈景主題:
wp theme delete twentytwentythree
是不是感覺非常直觀?當你要管理數十個網站時,用腳本跑這些指令,幾秒鐘就能完成所有網站的例行維護。
資料庫操作的黑魔法:search-replace
這是我個人認為 WP-CLI 最強大、最不可或缺的功能。當你需要更換網站網域,例如從 http://dev.example.com 搬到 https://example.com,這指令就是你的救世主。
wp search-replace 'http://dev.example.com' 'https://example.com' --dry-run
這裡的 --dry-run 參數非常重要,它的意思是「模擬執行」。指令會跑一遍,告訴你它會在哪些資料表、找到多少筆需要替換的資料,但並不會真的寫入資料庫。這是為了讓你先確認範圍是否正確,避免誤操作。
確認無誤後,拿掉 --dry-run,正式執行:
wp search-replace 'http://dev.example.com' 'https://example.com' --skip-columns=guid
多加了一個 --skip-columns=guid 參數,這是 WordPress 的最佳實踐,建議不要去動到 posts 資料表裡的 guid 欄位。WP-CLI 連這種細節都幫你想好了,夠貼心吧!
使用者管理
客戶忘記密碼,或者你自己被鎖在網站外面?小事一樁。
- 列出所有使用者:
wp user list - 重設管理員密碼(假設使用者名稱是 admin):
wp user update admin --user_pass=YourNewSecurePassword - 建立一個新的管理員帳號:
wp user create newadmin newadmin@example.com --role=administrator
再也不用去資料庫裡手動改那串加密過的密碼了。
效能與維護
WP-CLI 也能幫你做一些日常的網站維護工作。
- 清除所有暫存(Transients): 有時候外掛的暫存會出問題,可以用這指令強制清除。
wp transient delete --all - 重新產生媒體庫縮圖: 如果你更換了佈景主題,新的圖片尺寸可能不同,這時需要重新產生縮圖。
wp media regenerate --yes - 檢查並執行排程工作: 有時候 WordPress 的 Cron Job 會卡住,可以用這個指令手動觸發。
wp cron event run --due-now
這也呼應了我們之前討論過的 WP-Cron 議題,用指令來管理是不是更清晰了?
結語:別再用滑鼠了,讓指令為你工作
今天我們只是淺嚐了 WP-CLI 的皮毛,它還有數百個指令和參數,涵蓋了 WordPress 管理的方方面面,從匯入匯出內容、管理多站點網路(Multisite)、到與 WooCommerce、ACF 等知名外掛的整合。它是一個學起來門檻不高,但投資報酬率極高的工具。
身為一個有點囉嗦的工程師,我真心推薦所有對 WordPress 認真的人,無論你是開發者、網站管理者還是進階使用者,都應該把 WP-CLI 加入你的工具箱。它不僅能節省你寶貴的時間,更能在關鍵時刻拯救你的網站。現在就動手安裝,開始你的命令列大師之路吧!
延伸閱讀
對 WordPress 的底層技術與偵錯有興趣嗎?這裡有幾篇文章可以幫助你功力大增:
- 網站又掛了?別再瞎猜!資深工程師的 WordPress 偵錯終極指南,從「死亡白畫面」到效能瓶頸全搞定!
- 你的 WordPress 排程又失蹤了?資深工程師教你搞定 WP-Cron,從此告別「錯過排程」惡夢!
- 你的 WordPress 資料庫肥到走不動?資深工程師的終極瘦身指南,榨出110%的網站效能!
需要更專業的 WordPress 技術支援嗎?
覺得今天的內容太硬核,或是你的網站遇到了更棘手的問題?浪花科技的團隊擁有多年的 WordPress 開發與維護經驗,無論是客製化開發、效能調校還是緊急救援,我們都能提供最專業的解決方案。別再自己埋頭苦幹了,立即聯繫我們,讓專業的來!






