Конфигурационный файл wp-cli.yml

WP-CLI имеет ряд глобальных параметров (например, --path=<путь> и --user=<пользователь>). Глобальными эти параметры называются потому, что они влияют на взаимодействие WP-CLI с WordPress и имеют одинаковое поведение для всех команд.

Таким глобальным параметрам можно установить дефолтные значение через конфигурационный файл wp-cli.yml. Кроме глобальных параметров в этом файле можно указать также и другие опции, указывающие как должен работать WP-CLI.

WP-CLI может автоматически обнаруживать и считывать параметры из нескольких конфигурационных файлов (при их наличии). Порядок проверки наличия файла конфигурации (срабатывает первый существующий файл, если только в нем не указан параметр merge: true):

  1. Файл wp-cli.local.yml в рабочей директории (или выше).
  2. Файл wp-cli.yml в рабочей директории (или выше).
  3. Файл ~/.wp-cli/config.yml (путь может быть изменен с помощью установки переменной окружения WP_CLI_CONFIG_PATH).

Простой пример файла wp-cli.yml

url: http://example.com
user: admin

Помимо глобальных параметров, файл конфигурации может содержать дефолтные значения для отдельных команд. Также тут можно установить псевдонимы для разных установок WordPress.

Пример файла wp-cli.yml (с комментариями):

# Глобальные Дефолтные параметры
path: wp-core
url: http://example.com
user: admin
color: false

# Отключаем ненужные команды
disabled_commands:
  - db drop
  - plugin install

# Подключаем свой файл команд
require:
  - path-to/command.php

# Дефолтные параметры для команды `wp config create`
config create:
	dbuser: root
	dbpass:
	extra-php: |
		define( 'WP_DEBUG', true );
		define( 'WP_POST_REVISIONS', 50 );

# Алиас на другие установки WordPress
# Пример использования: $ wp @staging rewrite flush
# Возможные поля при создании алиаса: user, url, path, ssh, 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

# Алиасы могут ссылаться на другие алиасы.
# Так можно создавать группу алиасов.
# Группы алиасов можно вкладывать в другие алиасы (can be nested)
@both:
 - @staging
 - @production

# '_' - это специальное значение, обозначающее параметры конфигурации для данного wp-cli.yml
_:

	# Мерджить дефолтные значения под-команд из upstream ~/.wp-cli/config.yml, а не перезаписывать их
	merge: true

	# Наследовать конфигурацию из произвольного YAML файла
	inherit: prod.yml