wp-cli/wp-cli

WP-CLI 框架


README

WP-CLIWordPress的命令行界面。您可以使用它更新插件、配置多站点安装等等,无需使用网页浏览器。

持续维护得益于

当前稳定版本为版本 2.11.0。有关公告,请关注@wpcli在Twitter上的更新,或注册电子邮件更新。查看路线图以了解即将发布的版本计划概述。

Testing Average time to resolve an issue Percentage of issues still open

快速链接: 使用 | 安装 | 支持 | 扩展 | 贡献 | 鸣谢

使用

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 (文档) 允许您删除一个或所有临时缓存

$ wp transient delete --all
Success: 34 transients deleted from the database.

要了解WP-CLI的完整使用方法,请阅读快速入门指南。或者,通过shell friends了解有用的命令行实用程序。

已经熟悉基础知识?直接跳转到命令列表,获取管理主题和插件、导入导出数据、执行数据库搜索替换操作等详细信息。

安装

对于大多数用户,下载Phar文件是我们推荐的安装方法。如果需要,请参阅我们关于替代安装方法的文档(ComposerHomebrewDocker)。

在安装WP-CLI之前,请确保您的环境满足最低要求

  • 类UNIX环境(OS X、Linux、FreeBSD、Cygwin);Windows环境支持有限
  • PHP 5.6或更高版本
  • WordPress 3.7或更高版本。比最新WordPress版本旧的可能功能受限

验证需求后,使用wgetcurl下载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-CLI,请输入 wp,将文件设置为可执行并移动到您的 PATH 目录下。例如:

chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

如果 WP-CLI 安装成功,当您运行 wp --info 时,应该会看到类似以下的内容:

$ wp --info
OS:     Linux 5.10.60.1-microsoft-standard-WSL2 #1 SMP Wed Aug 25 23:20:18 UTC 2021 x86_64
Shell:  /usr/bin/zsh
PHP binary:     /usr/bin/php8.1
PHP version:    8.1.0
php.ini used:   /etc/php/8.1/cli/php.ini
MySQL binary:   /usr/bin/mysql
MySQL version:  mysql  Ver 8.0.27-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.11.0

更新

您可以使用 wp cli update 来更新 WP-CLI(文档),或者重复安装步骤。

如果 WP-CLI 由 root 或其他系统用户拥有,您需要运行 sudo wp cli update

想要走在前沿?运行 wp cli update --nightly 来使用 WP-CLI 的最新夜间构建。夜间构建对于您的开发环境来说相对稳定,并且始终包含最新的 WP-CLI 功能。

Tab 补全

WP-CLI 还附带了一个适用于 Bash 和 ZSH 的 Tab 补全脚本。只需下载 wp-completion.bash 并从 ~/.bash_profile 中导入。

source /FULL/PATH/TO/wp-completion.bash

之后别忘了运行 source ~/.bash_profile

如果您使用的是 zsh 作为您的 shell,在导入之前可能需要加载并启动 bashcompinit。将以下内容放入您的 .zshrc 文件中:

autoload bashcompinit
bashcompinit
source /FULL/PATH/TO/wp-completion.bash

支持

WP-CLI 的维护者和贡献者对处理一般支持问题的可用性有限。目前支持的 WP-CLI 版本 是唯一官方支持的版本。

在寻求支持时,请首先在这些场合中搜索您的问题:

如果您在上面的场合中没有找到答案,您可以:

  • 加入 WordPress.org Slack 中的 #cli 频道,与当时可能在线的人聊天。此选项最适合快速问题。
  • 在 WordPress.org 支持论坛中发起新帖子 并标记为 'WP-CLI',以便社区看到。

GitHub 问题旨在跟踪现有命令的增强和错误,而不是一般支持。在提交错误报告之前,请查看我们的最佳实践,以确保您的問題能够及时解决。

请勿在 Twitter 上提问支持问题。Twitter 不是一个可接受的支持场所,原因如下:1) 在280个字符内很难进行对话,2) Twitter 不是一个人们可以搜索先前对话中答案的地方。

请记住,开源 ≠ 免费;开源许可赋予您使用和修改的自由,但并不承诺他人的时间。请尊重他人,并据此设定您的期望。

扩展

一个 命令 是 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命令比看起来要容易得多。阅读命令食谱以获取更多信息。浏览内部API文档,以发现您可以在自定义WP-CLI命令中使用的各种有用函数。

贡献

我们感谢您主动为WP-CLI做出贡献。正是由于您和您周围社区的贡献,WP-CLI才成为了一个如此出色的项目。

贡献并不仅限于代码。我们鼓励您以最适合您能力的方式做出贡献,例如撰写教程、在当地聚会中演示、帮助其他用户解答支持问题或修订我们的文档。

请参阅手册中的贡献指南,以详细了解您如何参与其中。遵循这些指南有助于表明您尊重项目上其他贡献者的时间。作为回报,他们将在与您合作时,跨越时区,在世界各地尽最大努力回报这种尊重。

领导层

WP-CLI有一个项目负责人:schlessera

有时,我们会授予有贡献者写入权限,这些贡献者在一段时间内证明了他们有能力并致力于推动项目前进。

阅读手册中的治理文件,以获取更多关于项目的运营细节。

致谢

除了在composer.json中定义的库之外,我们还使用了以下项目的代码或想法: