WP-CLI 中文文档

WP-CLI 是一款用于管理 WordPress 的命令行交互界面,无需浏览器即可完成插件更新,多站点设置等许多操作。目前的稳定版本是 2.4.0 。如果您想获取最新信息,请在 Twitter 上关注 @wpcli 或者 订阅邮件通知。请参阅 产品路线图 了解未来更新规划。
导航链接:使用 | 安装 | 支持 | 扩展 | 贡献 | 参考

使用 #

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 或更高版本,较旧版本在功能上可能会有所减少。

再次检查操作环境,使用 wgetcurl 下载 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 受到官方支持。

在寻求帮助时,请首先在下面资源中搜索您的问题:

如果上面任何一种方式都找不到答案:

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 中定义的库之外,我们还使用了下面项目中的代码或思想:

上次修改 2021.12.27