配置
WP-CLI 具有一系列全局参数(例如 和 ),适用于所有命令。它们被称为_全局参数_,因为它们影响WP-CLI与WordPress的交互方式,并且在所有命令中具有相同的行为。--path=<path>``--user=<user>
# `--user=<user>` sets request to a specific WordPress user
$ wp --user=wpcli eval 'echo wp_get_current_user()->user_email;'
wpcli@example.com
对于重复使用,WP-CLI 还可以从 YAML 配置文件中读取选项(例如 )。WP-CLI 根据下面定义的规则自动发现文件系统上的配置文件。这些配置文件允许为全局参数和特定于子命令的参数指定默认值。wp-cli.yml
# WordPress develop includes a `wp-cli.yml` to enable easy use of WP-CLI
$ pwd
/srv/www/wordpress-develop.dev
$ cat wp-cli.yml
path: src/
参数按照优先级顺序(从最高优先级到最低优先级)进行解释:
- 命令行参数。
-
wp-cli.local.yml
文件在当前工作目录中(或向上)。 -
wp-cli.yml
文件在当前工作目录中(或向上)。 -
~/.wp-cli/config.yml
文件(可以通过设置环境变量来更改路径)。WP_CLI_CONFIG_PATH
- WP-CLI 默认值。
全局参数
下表列出了可用的参数(在命令行上指定)和选项(在配置文件中指定)。
描述
论点
选择
WordPress文件的路径。
默认值:null
--path=<path>
path: <path>
通过 SSH 对远程服务器执行操作。
默认值:null
--ssh=[<user>@]<host>[:<port>][<path>]
ssh: [<user>@]<host>[:<port>][<path>]
通过HTTP对远程WordPress安装执行操作。
默认值:null
--http=<http>
http: <http>
假装请求来自给定的 URL。在多站点中,此参数是指定目标站点的方式。
默认值:null
--url=<url>
url: <url>
设置WordPress用户。
默认值:null
--user=<id|login|email>
user: <id|login|email>
跳过加载所有或部分插件。注意:mu 插件仍然加载。
默认值:""
--skip-plugins[=<plugin>]
skip-plugins: <list>
跳过加载所有或部分主题。
默认值:""
--skip-themes[=<theme>]
skip-themes: <list>
跳过加载所有已安装的软件包。
默认值:false
--skip-packages
skip-packages: <bool>
在运行命令之前加载 PHP 文件(可以多次使用)。
默认值:[]
--require=<path>
require: <path>
在运行命令之前执行 PHP 代码(可以多次使用)。
默认值:[]
--exec=<php-code>
exec: <php-code>
要禁用的(子)命令。
默认值:[]
不用作标志
disabled_commands: <list>
是否对输出进行着色。
默认值:"auto"
--[no-]color
color: <bool>
显示所有 PHP 错误;向WP-CLI引导程序添加详细程度。
默认值:false
--debug[=<group>]
debug: <group>
提示用户输入所有命令参数的值,或指定为逗号分隔值的子集。
默认值:false
--prompt[=<assoc>]
不作为选项提供
禁止显示信息性消息。
默认值:false
--quiet
quiet: <bool>
要报告为已加载的 Apache 模块列表。
默认值:[]
不用作标志
apache_modules: <list>
配置文件
WP-CLI 可以从几种配置文件类型(如果存在)中自动发现和读取选项:
-
wp-cli.local.yml
文件在当前工作目录中(或向上)。 -
wp-cli.yml
文件在当前工作目录中(或向上)。 -
~/.wp-cli/config.yml
文件(可以通过设置环境变量来更改路径)。WP_CLI_CONFIG_PATH
除了上述全局参数外,配置文件还可以包含任何子命令的默认值,以及一个或多个WordPress安装的别名。
下面是一个带注释的示例文件:wp-cli.yml
# Global parameter defaults
path: wp-core
url: http://example.com
user: admin
color: false
disabled_commands:
- db drop
- plugin install
require:
- path-to/command.php
# Subcommand defaults (e.g. `wp config create`)
config create:
dbuser: root
dbpass:
extra-php: |
define( 'WP_DEBUG', true );
define( 'WP_POST_REVISIONS', 50 );
# Aliases to other WordPress installs (e.g. `wp @staging rewrite flush`)
# An alias can include 'user', 'url', 'path', 'ssh', or 'http'
@staging:
ssh: wpcli@staging.wp-cli.org
user: wpcli
path: /srv/www/staging.wp-cli.org
@production:
ssh: wpcli@wp-cli.org:2222
user: wpcli
path: /srv/www/wp-cli.org
# Aliases can reference other aliases to create alias groups
# Alias groups can be nested
@both:
- @staging
- @production
# '_' is a special value denoting configuration options for this wp-cli.yml
_:
# Merge subcommand defaults from the upstream config.yml, instead of overriding
merge: true
# Inherit configuration from an arbitrary YAML file
inherit: prod.yml
环境变量
WP-CLI 的行为可以通过使用环境变量在运行时更改:
-
WP_CLI_CACHE_DIR
– 存储 WP-CLI 文件缓存的目录。默认值为 。~/.wp-cli/cache/
-
WP_CLI_CONFIG_PATH
– 全局文件的路径。默认值为 。config.yml``~/.wp-cli/config.yml
-
WP_CLI_CUSTOM_SHELL
– 允许用户覆盖使用的默认外壳。/bin/bash
-
WP_CLI_DISABLE_AUTO_CHECK_UPDATE
– 禁用 WP-CLI 自动检查更新。 -
WP_CLI_PACKAGES_DIR
–用于存储通过WP-CLI的软件包管理安装的软件包的目录。默认值为 。~/.wp-cli/packages/
-
WP_CLI_PHP
– 覆盖系统默认值时使用的 PHP 二进制路径(仅适用于非 Phar 安装)。 -
WP_CLI_PHP_ARGS
– 调用 WP-CLI 时传递给 PHP 二进制文件的参数(仅适用于非 Phar 安装)。 -
WP_CLI_SSH_PRE_CMD
– 使用 时,在远程服务器上的 WP-CLI 调用 WP-CLI 之前执行命令。--ssh=<ssh>
-
WP_CLI_STRICT_ARGS_MODE
– 通过告诉 WP-CLI 将命令之前的任何参数视为全局参数,将命令之后的任何参数视为本地参数来避免歧义。 -
WP_CLI_SUPPRESS_GLOBAL_PARAMS
– 设置为 跳过在帮助屏幕末尾显示全局参数。这将为高级用户节省屏幕空间。true
要按需设置环境变量,只需将环境变量定义放在要运行的 WP-CLI 命令之前即可。
# Use vim to edit a post
$ EDITOR=vim wp post edit 1
要为每个 shell 会话设置相同的环境变量值,您需要在 or 文件中包含环境变量定义~/.bashrc``~/.zshrc
# Always use vim to edit a post
export EDITOR=vim