使用 #
WP-CLI 可以為您在 WordPress 後台管理中執行的許多操作提供命令行工具。例如,使用 wp plugin install --activate
(説明文檔) 安裝並激活插件:
<span class="nv">$ </span>wp plugin <span class="nb">install </span>user-switching <span class="nt">--activate</span> Installing User Switching <span class="o">(</span>1.0.9<span class="o">)</span> Downloading installation package from https://downloads.wordpress.org/plugin/user-switching.1.0.9.zip... Unpacking the package... Installing the plugin... Plugin installed successfully. Activating <span class="s1">'user-switching'</span>... Plugin <span class="s1">'user-switching'</span> activated. Success: Installed 1 of 1 plugins.
WP-CLI 還包含許多您無法在 WordPress 後台管理中執行的操作命令。例如,wp transient delete --all
(説明文檔) 可以刪除一個或所有的 Transients :
<span class="nv">$ </span>wp transient delete <span class="nt">--all</span> Success: 34 transients deleted from the database.
有關如何使用 WP-CLI 的更多內容請閲讀 《 Quick Start 》 。您也可以在 Shell Friends 瞭解實用的命令行工具。
如果您已經熟悉基本命令,可以到 WP-CLI Commands 瞭解更多有關主題及插件管理、數據導入與導出和數據庫操作的內容。
安裝 #
我們推薦使用下載 Phar 文件的安裝方法,如果需要使用其他安裝方法(Composer, Homebrew, Docker),請參閲相關文檔。
在安裝 WP-CLI 之前,請確保您的操作環境滿足最低要求:
- UNIX 環境 (OS X,Linux,FreeBSD,Cygwin),某些功能在 Windows 中將受到限制。
- PHP 5.6 或更高版本。
- WordPress 3.7 或更高版本,較舊版本在功能上可能會有所減少。
再次檢查操作環境,使用 wget
或 curl
下載 wp-cli.phar:
curl <span class="nt">-O</span> https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
接下來,檢查 Phar 文件確保其正常運行:
php wp-cli.phar <span class="nt">--info</span>
要使用 wp
執行 WP-CLI 命令,必須有執行權限並且 PATH
已在環境變量中註冊,例如:
<span class="nb">chmod</span> +x wp-cli.phar <span class="nb">sudo mv </span>wp-cli.phar /usr/local/bin/wp
如果 WP-CLI 安裝成功,使用 wp --info
命令,將看到以下輸出信息:
<span class="nv">$ </span>wp <span class="nt">--info</span> OS: Darwin 16.7.0 Darwin Kernel Version 16.7.0: Thu Jan 11 22:59:40 PST 2018<span class="p">;</span> root:xnu-3789.73.8~1/RELEASE_X86_64 x86_64 Shell: /bin/zsh PHP binary: /usr/local/bin/php PHP version: 7.0.22 php.ini used: /etc/local/etc/php/7.0/php.ini WP-CLI root <span class="nb">dir</span>: /home/wp-cli/.wp-cli/vendor/wp-cli/wp-cli WP-CLI vendor <span class="nb">dir</span>: /home/wp-cli/.wp-cli/vendor WP-CLI packages <span class="nb">dir</span>: /home/wp-cli/.wp-cli/packages/ WP-CLI global config: /home/wp-cli/.wp-cli/config.yml WP-CLI project config: WP-CLI version: 2.4.0
更新 WP-CLI#
如果需要更新 WP-CLI ,可以運行 wp cli update
(説明文檔) 或者重複上述安裝方法。
如果 WP-CLI 的所有者是 root 或其他系統管理員,則需要執行 sudo wp cli update
操作。
如果您想體驗最新版本,可以運行 wp cli update --nightly
來安裝最新的 Nightly Builds 版本 (每天更新的版本,不要用到生產環境)WP-CLI 工具。該版本在開發環境中有一定的穩定性,並且始終包含最新和最出色的 WP-CLI 功能。
Tab 命令行補全 #
WP-CLI 帶有用於 Bash 和 ZSH 的命令行補全腳本。下載 wp-completion.bash 並 ~/.bash_profile
加載它即可。例如:
<span class="nb">source</span> /FULL/PATH/TO/wp-completion.bash
在此之後不要忘記運行 source ~/.bash_profile
。
對於 ZSH,您可能需要在加載 bashcompinit
後加載 wp-completion.bash
,將以下內容放入您的 .zshrc
中:
autoload bashcompinit bashcompinit <span class="nb">source</span> /FULL/PATH/TO/wp-completion.bash
支持 #
WP-CLI 的維護者和貢獻者只有有限的時間回答常見問題,只有最新版的 WP-CLI 受到官方支持。
在尋求幫助時,請首先在下面資源中搜索您的問題:
- Common issues and their fixes
- WP-CLI handbook
- Open or closed issues in the WP-CLI GitHub organization
- Threads tagged 『WP-CLI』 in the WordPress.org support forum
- Questions tagged 『WP-CLI』 in the WordPress StackExchange
如果上面任何一種方式都找不到答案:
- 加入 WordPress.org 的 Slack 中的
#cli
頻道,與當時可能有空的人聊天 (這是最快的方法) 。 - 在 WordPress 支持論壇 上發佈新帖子,並用 「wp-cli 」標記它 (以便被找到) 。
GitHub Issues 用於跟蹤現有命令的改進和 BUG,而不是常規支持。在提交 BUG 報告之前,請務必閲讀手冊中的 Bug Reports,以確保您的問題得到及時解決。
請不要在 Twitter 上提出問題,因為:
1) 一般很難用 280 個字符的對話解決問題;
2) 如果其他人與您擁有相同的問題,他們不能通過搜索其他人的歷史聊天記錄來獲取答案。
開源許可證授予您使用和修改的權利,但不授予您浪費他人時間的權利。請您保持尊重!
擴展 #
每個命令都被定義為一個 WP-CLI 功能,wp plugin install
(説明文檔) 是一個,而 wp plugin activate
(説明文檔) 是另一個。
WP-CLI 支持各種可執行類、函數和閉包作為命令被執行。其在 PHPdoc 中讀取詳細的使用信息。使用 WP_CLI::add_command()
(説明文檔) 來註冊內部命令和第三方命令。
<span class="cd">/** * Delete an option from the database. * * Returns an error if the option didn't exist. * * ## OPTIONS * * <key> * : Key for the option. * * ## EXAMPLES * * $ wp option delete my_option * Success: Deleted 'my_option' option. */</span> <span class="nv">$delete_option_cmd</span> <span class="o">=</span> <span class="k">function</span><span class="p">(</span> <span class="nv">$args</span> <span class="p">)</span> <span class="p">{</span> <span class="k">list</span><span class="p">(</span> <span class="nv">$key</span> <span class="p">)</span> <span class="o">=</span> <span class="nv">$args</span><span class="p">;</span> <span class="k">if</span> <span class="p">(</span> <span class="o">!</span> <span class="nf">delete_option</span><span class="p">(</span> <span class="nv">$key</span> <span class="p">)</span> <span class="p">)</span> <span class="p">{</span> <span class="no">WP_CLI</span><span class="o">::</span><span class="nf">error</span><span class="p">(</span> <span class="s2">"Could not delete '</span><span class="nv">$key</span><span class="s2">' option. Does it exist?"</span> <span class="p">);</span> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span> <span class="no">WP_CLI</span><span class="o">::</span><span class="nf">success</span><span class="p">(</span> <span class="s2">"Deleted '</span><span class="nv">$key</span><span class="s2">' option."</span> <span class="p">);</span> <span class="p">}</span> <span class="p">};</span> <span class="no">WP_CLI</span><span class="o">::</span><span class="nf">add_command</span><span class="p">(</span> <span class="s1">'option delete'</span><span class="p">,</span> <span class="nv">$delete_option_cmd</span> <span class="p">);</span>
WP-CLI 包含豐富的命令。創建自定義的 WP-CLI 命令比看起來的要更加容易。閲讀 Commands Cookbook 瞭解更多內容,瀏覽 Internal API 發現更多創建自定義命令的實用功能。
貢獻 #
感謝您主動為 WP-CLI 做出貢獻!正因為您和社區的支持,才能使 WP-CLI 更加出色!
貢獻不僅限於代碼,我們鼓勵您在能力範圍內作出貢獻。比如編寫教程、在會議上進行演示、幫助其他用户解決他們的問題,或者協助我們修改文檔。
如果要參與該項目,請仔細閲讀手冊中的 Contributing 。遵循這些準則有助於與該項目的其他貢獻者進行交流,他們將竭盡全力與您合作。
管理者 #
WP-CLI 項目維護者: schlessera 。
我們將寫權限授予受信任的貢獻者,這些貢獻者已經證明他們有能力並有時間開發該項目。
閲讀手冊中的 Governance,獲取有關該項目的更多操作詳細信息。
參考 #
除了 composer.json 中定義的庫之外,我們還使用了下面項目中的代碼或思想:
- Drush 用於很多事情
- wpshell 用於
wp shell
- Regenerate Thumbnails 用於
wp media regenerate
- Search-Replace-DB 用於
wp search-replace
- WordPress-CLI-Exporter 用於
wp export
- WordPress-CLI-Importer 用於
wp import
- wordpress-plugin-tests 用於
wp scaffold plugin-tests