Наше руководство по структуре команд WP-CLI
Опубликовано: 2022-06-29Интерфейс командной строки WordPress (WP-CLI) — это невероятный инструмент для улучшения рабочего процесса разработки. Понимание того, как устроены команды, является ключом к использованию всего потенциала WP-CLI. В этой статье вы узнаете, как структурировать команды WP-CLI, в том числе как использовать родительские и подкоманды, а также параметры и переключатели.
Прежде чем погрузиться в создание команд, вам необходимо установить WP-CLI. Точный метод зависит от ОС, но в нашем руководстве по установке и настройке WP-CLI есть все, что вам нужно.
Родительские команды и подкоманды
Почти все команды WP-CLI имеют одинаковую структуру. Существует родительская команда для каждой более широкой области функциональности, например, wp core
для работы с основной установкой WordPress. Каждая из этих родительских команд может использоваться с несколькими различными подкомандами и должна использоваться по крайней мере с одной.
Повеления родителей закладывают фундамент
Никакая родительская команда не сделает ничего полезного сама по себе. Например, если вы попытаетесь использовать саму wp config
, вы увидите что-то вроде этого:
~$ конфигурация wp использование: wp config create --dbname=--dbuser= [--dbpass= ] [--dbhost= ] [--dbprefix= ] [--dbcharset= ] [--dbcollate= ] [--locale= ] [--extra-php] [--skip-salts] [--skip-check] [--force] [--config-file= ] [--ненадежный] или: wp config удалить [--тип= ] [--config-file= ] или: wp config edit [--config-file= ] или: получить конфигурацию wp [--тип= ] [--формат= ] [--config-file= ] или: в конфигурации wp есть [--тип= ] [--config-file= ] или: список конфигураций wp [ ...] [--поля= ] [--формат= ] [--strict] [--config-file= ] или: путь конфигурации wp или: набор настроек wp [--add] [--raw] [--anchor= ] [--размещение= ] [--разделитель= ] [--тип= ] [--config-file= ] или: wp config shuffle-salts [ ...] [--force] [--config-file= ] [--ненадежный] См. «wp help config» для получения дополнительной информации о конкретной команде.
Уже одно это дает вам довольно хорошие подсказки о том, как вы будете использовать команду wp config
. Вы можете получить еще лучшее понимание, следуя его советам и введя wp help config
.
ИМЯ вп конфиг ОПИСАНИЕ Создает и читает файл wp-config.php. СИНТАКСИС вп конфигПОДКОМАНДЫ create Создает файл wp-config.php. delete Удаляет определенную константу или переменную из файла wp-config.php. edit Запускает системный редактор для редактирования файла wp-config.php. get Получает значение определенной константы или переменной, определенной в файле wp-config.php. has Проверяет, существует ли определенная константа или переменная в файле wp-config.php. list Перечисляет переменные, константы и файлы, определенные в файле wp-config.php. path Получает путь к файлу wp-config.php. set Устанавливает значение конкретной константы или переменной, определенной в файле wp-config.php. shuffle-salts Обновляет соли, определенные в файле wp-config.php. ГЛОБАЛЬНЫЕ ПАРАМЕТРЫ --путь=
Всего в основной установке WP-CLI более 40 родительских команд. Некоторые популярные плагины, такие как WooCommerce и BuddyPress, добавляют свои собственные родительские команды, поэтому в вашей установке WordPress их может быть даже больше. В большинстве случаев вы можете узнать, как использовать команду, введя wp help
, а затем имя родительской команды.
Понимание того, как они сгруппированы, помогает при обучении использованию WP-CLI. Стоит отметить, что в командах WP-CLI почти всегда используются существительные в единственном числе. Например, родительская команда для управления пользователями называется wp user
, а не «wp users». Пока вы помните об этом, вы обнаружите, что ваша интуиция часто оказывается верной. Команда для управления комментариями — это wp comment
, а wp cron
— это команда, которую вы бы использовали для управления расписаниями и событиями WP-Cron.
Вы можете найти шпаргалку с некоторыми из наиболее часто используемых родительских команд ниже.
Команда | Описание |
---|---|
ядро WP | Работа с установками WordPress. |
вп конфиг | Создание и чтение wp-config.php. |
WP-плагин | Управление плагинами. |
WP тема | Управление темами. |
пользователь wp | Управление пользователями. |
СМИ | Работа с изображениями и другими медиафайлами |
помощь | Общая помощь. Следуйте за ним с помощью команды для получения более конкретной информации. |
вариант wp | Настройка параметров сайта, включая параметры плагина и WordPress. |
ВП сайт | Управление сайтами в многосайтовой установке. |
Подкоманды задают направление
Как я упоминал ранее, ни одна из этих команд не работает сама по себе. Нам также нужно указать подкоманду, если мы собираемся куда-то попасть. Настоятельно рекомендую настроить автодополнение табуляции. Это позволит вам легко увидеть подкоманды. Например, используя автодополнение табуляции, мы можем увидеть подкоманды для plugin
:
$ wp plugin [TAB] activate get list toggle auto-updates install path uninstall deactivate is-active search update delete is-installed status verify-checksums
Нажатие Enter без указания подкоманды предложит WP-CLI предоставить дополнительную справку:
$ wp plugin usage: wp plugin activate [<plugin>...] [--all] [--network] or: wp plugin auto-updates <command> or: wp plugin deactivate [<plugin>...] [--uninstall] [--all] [--network] or: wp plugin delete [<plugin>...] [--all] or: wp plugin get <plugin> [--field=<field>] [--fields=<fields>] [--format=<format>] or: wp plugin install <plugin|zip|url>... [--version=<version>] [--force] [--activate] [--activate-network] [--insecure] ....
Заметили разницу в том, как параметры представлены в тексте справки выше? Некоторые заключены в знаки < >
, другие имеют префикс с двойным тире --
. Это не совпадение; это разные типы параметров. Мы вернемся к этому чуть позже.
С WP-CLI приятно работать, поскольку он часто может рассказать вам немного больше о каждой подкоманде и параметрах, которые она ожидает. Это очень последовательно во всех встроенных командах WP-CLI. Всякий раз, когда вам не удается ввести полную команду со всеми ожидаемыми параметрами, она расскажет вам больше о том, что она ожидала.
Шпаргалка по популярным командам WP-CLI
В приведенной ниже памятке показаны некоторые наиболее распространенные подкоманды и родительские команды, с которыми они работают. Доступно гораздо больше подкоманд, чем перечисленные здесь. Некоторые родительские команды, такие как wp comment
, имеют более дюжины подкоманд, в то время как другие, такие как wp cron
, имеют всего несколько.
Ядро WP
КОМАНДА | ОПИСАНИЕ |
---|---|
скачать ядро wp | Загружает основные файлы WordPress. |
установка ядра wp | Устанавливает Вордпресс. |
обновление ядра вп | Обновляет WordPress до более новой версии. |
Конфигурация WP
КОМАНДА | ОПИСАНИЕ |
---|---|
wp конфиг создать | Создает новый файл `wp-config.php`. |
редактирование конфигурации wp | Запускает системный редактор для редактирования файла конфигурации. |
обновление ядра вп | Показывает переменные, константы и включения файлов, определенные в файле `wp-config.php`. |
WP Тема
КОМАНДА | ОПИСАНИЕ |
---|---|
установка темы wp | Устанавливает тему. |
активировать тему wp | Активирует тему. |
автообновление темы wp | Управляет автоматическими обновлениями. |
деактивировать тему wp | Деактивирует выбранную тему. |
Плагин WP
КОМАНДА | ОПИСАНИЕ |
---|---|
установка плагина wp | Устанавливает тему. |
плагин wp активировать | Активирует плагин. |
автообновление плагина wp | Управляет автоматическими обновлениями. |
Плагин wp деактивировать | Деактивирует выбранный плагин. |
Параметры и переключатели
В дополнение к родительской команде и подкоманде большинству команд требуется хотя бы один параметр , чтобы иметь возможность делать что-то полезное. Например, если вы хотите установить плагин, вам нужно указать, какой плагин нужно установить. Естественно, то же самое касается активации или удаления плагина.
По сути, есть три типа параметров, которые вы будете использовать с WP-CLI: упорядоченные параметры, именованные параметры и переключатели.
Упорядоченные параметры
Если команде требуется более одного обычного параметра, они всегда должны быть правильно упорядочены, чтобы команда функционировала. Вот почему они называются упорядоченными параметрами . Они всегда разделены одним пробелом. Если само значение параметра содержит пробелы, оно должно быть заключено в кавычки.
В тексте справки для команды упорядоченные параметры заключены в <
и >
. В следующем примере попытки использовать wp post get
без каких-либо параметров мы видим, что id
является упорядоченным параметром, поскольку он заключен в <
и >
.
$ wp post get usage: wp post get <id> [--field=<field>] [--fields=<fields>] [--format=<format>]
Именованные параметры
WP-CLI также много работает с именованными параметрами . Их можно давать в любом порядке. Именованный параметр распознается двойным тире перед именем и наличием знака равенства между именем и значением.
Например, глядя на текст справки для wp post get
выше, мы видим, что параметры format
и fields
начинаются с двойных дефисов. Вот откуда мы знаем, что они являются именованными параметрами для этой команды.
Порядок действительно не имеет значения:
# This will get the the title field for post id 1 in JSON format $ wp post get 1 --fields=title --format=json # This is the same command, order of named parameters doesn't matter: $ wp post get 1 --format=json --fields=title # This is also exactly the same, you can put named parameters before the ordered ones: $ wp post get --format=json --fields=title 1
Переключатели
Существуют также именованные параметры, которые используются только для указания значений типа true/false. Они называются переключателями и не требуют указания значения. Если вы добавите их в командную строку, они будут означать «истина». Если вы опустите их, они будут «ложными».
Возможно, это лучше всего объяснить на нескольких примерах:
# Passing "hello-dolly" as regular ordered parameter $ wp plugin activate hello-dolly # Passing a regular ordered parameter with spaces requires quotes $ wp plugin search "WP Offload Media" # Passing the value 'json' to the named parameter 'format' $ wp plugin list --format=json # Setting the 'quiet' switch to true $ wp plugin activate hello-dolly --quiet
Не так уж и сложно, а? Это в значительной степени норма среди инструментов командной строки. Но добавим еще одну маленькую деталь.
Глобальные именованные аргументы
Именованные аргументы могут быть либо глобальными в том смысле, что их используют многие команды WP-CLI, и они всегда ведут себя при использовании одинаково.
Другие именованные аргументы имеют смысл только для одной конкретной команды. Этот тип именованного аргумента по сути является просто именованным параметром. В приведенных выше примерах параметр --quiet
является глобальным, поскольку он одинаково влияет на все команды. Но параметр --format
не считается глобальным, потому что он не имеет смысла для всех команд.
Как использовать команды WP-CLI
В качестве примера давайте посмотрим, как использовать wp-plugin
для установки и активации плагина WordPress. Наряду с управлением пользователями, это одна из первых областей, о которых хотят узнать новые пользователи WP-CLI. Даже если вы не очень заинтересованы в управлении плагинами из командной строки, стоит прочитать этот раздел, чтобы подготовиться к работе с WP-CLI.
Установить новый плагин из репозитория WordPress очень просто. Вам нужна родительская команда ( wp plugin
), подкоманда ( install
) и упорядоченный параметр (официальный ярлык плагина) для установки плагина. Для активации плагина используется аналогичная команда, но с другой подкомандой ( activate
).
Соберите все вместе, и вы должны увидеть что-то вроде этого:
# Installing a plugin $ wp plugin install hello-dolly Installing Hello Dolly (1.7.2) Downloading installation package from https://downloads.wordpress.org/plugin/hello-dolly.1.7.2.zip... The authenticity of hello-dolly.1.7.2.zip could not be verified as no signature was found. Unpacking the package... Installing the plugin... Plugin installed successfully. Success: Installed 1 of 1 plugins. $ wp plugin activate hello-dolly Plugin 'hello-dolly' activated. Success: Activated 1 of 1 plugins.
Как видите, установка и активация плагина — это две разные вещи в WP-CLI, как и при установке плагина через веб-интерфейс. Но установка и последующая прямая активация плагина настолько распространены, что WP-CLI может сделать и то, и другое одновременно:
# Installing AND activating a plugin in one go $ wp plugin install --activate hello-dolly
Одна сложная часть — найти правильный слаг для нужного вам плагина. Все плагины идентифицируются по их официальному слагу, но во многих случаях слаг даже отдаленно не похож на официальное название плагина. У чрезвычайно популярного плагина Yoast SEO есть слаг wordpress-seo
. Слаг для нашего собственного плагина WP Offload Media — amazon-s3-and-cloudfront
.
Слаги назначаются, когда плагины впервые принимаются в репозиторий плагинов WordPress, и являются единственными уникальными идентификаторами. Даже если имя плагина изменится, слаг останется прежним. Вы всегда можете перейти на веб-страницу репозитория плагинов, найти плагин и посмотреть путь в URL-адресе:
Он работает, но ему не хватает изящества, и он выводит вас из терминала. Вот правильный способ сделать это с помощью подкоманды search
WP-CLI:
wp plugin search "wp offload media" --per-page=1 --fields=name,slug Success: Showing 1 of 66 plugins. +-----------------------------------------------------------------------+--------------------------+ | name | slug | +-----------------------------------------------------------------------+--------------------------+ | WP Offload Media Lite for Amazon S3, DigitalOcean Spaces, and Google | amazon-s3-and-cloudfront | | Cloud Storage | | +-----------------------------------------------------------------------+--------------------------+
Если вы хотите узнать больше об управлении плагинами, мы углубимся во все мельчайшие аспекты команды wp plugin
в более позднем посте о WP-CLI. Сейчас мы просто используем его как способ продемонстрировать использование параметров.
Подведение итогов
Самое большое преимущество, которое вы увидите от интеграции WP-CLI в свой рабочий процесс разработки, вероятно, заключается в том, насколько быстрее он позволяет вам работать. Практически все, что вы можете сделать из административной панели WordPress, можно выполнить за меньшее время с помощью командной строки.
Как только вы познакомитесь с основами, вы сможете еще больше расширить возможности WP-CLI с помощью нашего списка пакетов WP-CLI, без которых мы не можем жить.
Понимание того, как устроены команды, подкоманды и параметры, является ключом к освоению WP-CLI. Я намерен предоставить вам базовые знания, необходимые для того, чтобы начать экспериментировать самостоятельно. Если у вас есть какие-либо вопросы о том, как структурировать ваши команды WP-CLI, параметры или что-либо еще, связанное с WP-CLI, сообщите мне об этом в комментариях.