欢迎来到WP-CLI!

WP-CLI是用于与WordPress网站交互和管理的官方命令行工具,而无需使用Web浏览器。

快速开始

WP-CLI为您可能在WordPress管理中执行的许多操作提供了命令行界面。例如,(doc)允许您安装和激活WordPress插件:wp plugin install --activate

$ 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管理中执行的操作的命令。例如,(doc) 允许您删除一个或所有瞬态:wp transient delete --all
$ wp transient delete --all
Success: 34 transients deleted from the database.

安装

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

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

  • 类UNIX环境(OS X,Linux,FreeBSD,Cygwin);Windows 环境中的有限支持
  • PHP 5.6 或更高版本
  • WordPress 3.7 或更高版本。早于最新WordPress版本的版本可能具有降级的功能 验证要求后,使用 或 下载 wp-cli.phar 文件:wgetcurl
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

接下来,检查 Phar 文件以验证它是否正常工作:

php wp-cli.phar --info

要通过键入从命令行使用 WP-CLI,使文件可执行并将其移动到 PATH 中的某个位置。例如:wp

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.7.1

扩展

命令是WP-CLI功能的原子单元。 (doc) 是一个命令。 (文档)是另一个。

wp plugin installwp plugin activate

WP-CLI 支持将任何可调用的类、函数或闭包注册为命令。它从回调的 PHPdoc 读取使用详细信息。 (doc) 用于内部和第三方命令注册。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 命令中使用的各种有用函数。