Config Files
WP-CLI can automatically discover and read options from a few configuration file types (when present):
wp-cli.local.yml
file inside the current working directory (or upwards).wp-cli.yml
file inside the current working directory (or upwards).~/.wp-cli/config.yml
file (path can be changed by setting the WP_CLI_CONFIG_PATH environment variable).
Besides the global parameters described above, configuration files can also contain defaults for any subcommand, as well as aliases to one or more WordPress installs.
Here’s an annotated example wp-cli.yml
file:
# 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: [email protected] user: wpcli path: /srv/www/staging.wp-cli.org @production: ssh: [email protected]: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
Note the disabled_commands
config it allows you to specify a list of commands that cannot be run.