WP-CLI 是一款用于管理 WordPress 的命令行界面,无需浏览器即可完成插件更新、多站点设置等操作。
持续的维护是通过以下方式实现的:
目前的稳定版本是 2.5.0。如果您想获取最新信息,请在 Twitter 上关注 @wpcli 或者 订阅邮件通知。参阅 产品路线图 了解未来版本的更新规划。
导航链接:使用 | 安装 | 支持 | 扩展 | 贡献 | 参考
使用
WP-CLI 为您在 WordPress 后台管理中的许多操作提供了一个命令行接口。例如,使用 wp plugin install --activate
(说明文档) 安装并激活一个 WordPress 插件:
$ wp plugin install user-switching --activate
Installing User Switching (1.0.9)
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 'user-switching'...
Plugin 'user-switching' activated.
Success: Installed 1 of 1 plugins.
WP-CLI 还包含许多您无法在 WordPress 后台管理中执行的操作命令。例如,wp transient delete --all
(说明文档)可以删除一个或所有的 Transients :
$ wp transient delete --all
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 -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
然后,检查 Phar 文件确保其正常运行:
php wp-cli.phar --info
要使用 wp
执行 WP-CLI 命令,必须有执行权限并且 PATH
已在环境变量中注册,例如:
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
如果 WP-CLI 安装成功,当您运行 wp --info
时,可以看到类似下面的回显:
$ wp --info
OS: Linux 4.19.128-microsoft-standard #1 SMP Tue Jun 23 12:58:10 UTC 2020 x86_64
Shell: /usr/bin/zsh
PHP binary: /usr/bin/php
PHP version: 8.0.5
php.ini used: /etc/php/8.0/cli/php.ini
MySQL binary: /usr/bin/mysql
MySQL version: mysql Ver 8.0.23-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))
SQL modes:
WP-CLI root dir: /home/wp-cli/
WP-CLI vendor dir: /home/wp-cli/vendor
WP_CLI phar path:
WP-CLI packages dir: /home/wp-cli/.wp-cli/packages/
WP-CLI global config:
WP-CLI project config: /home/wp-cli/wp-cli.yml
WP-CLI version: 2.5.0
更新
您可以用 wp cli update
(说明文档)更新 WP-CLI,或者重复上述安装方法。
如果 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
中加载即可,例如:
source /FULL/PATH/TO/wp-completion.bash
然后运行 source ~/.bash_profile
使其生效.
如果使用 zsh,需要在加载 bashcompinit
后载入 wp-completion.bash
,将下面的内容放入 .zshrc
中即可:
autoload bashcompinit
bashcompinit
source /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()
(说明文档)来注册内部命令和第三方命令。
/**
* 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.
*/
$delete_option_cmd = function( $args ) {
list( $key ) = $args;
if ( ! delete_option( $key ) ) {
WP_CLI::error( "Could not delete '$key' option. Does it exist?" );
} else {
WP_CLI::success( "Deleted '$key' option." );
}
};
WP_CLI::add_command( 'option delete', $delete_option_cmd );
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