WP-CLIWP-CLI WP-CLI — это интерфейс командной строки для WordPress, используемый для программного выполнения административных задач и задач разработки. Страница проекта: http://wp-cli.org/ https://make.wordpress.org/cli/ следует широко распространённым соглашениям Unix для кодов завершения: 0 означает успех (основное условие команды выполнено), тогда как ненулевые значения означают, что основное условие не выполнено. Это может быть либо операционная ошибка (команда не смогла выполнить запрошенную операцию), либо ожидаемый отрицательный результат, который вызывающие скрипты должны проверять (например, «не установлено»). Скрипты, вызывающие команды WP-CLI, могут проверять код завершения, чтобы определить, следует ли продолжить, повторить попытку или прервать выполнение.
Стандартные коды завершения
| Код завершения | Значение |
|---|---|
0 |
Команда успешно завершена. Запрошенная операция выполнена ожидаемым образом. |
1 |
Команда завершилась с ошибкой. WP-CLI не смог выполнить операцию ожидаемым образом (например, указаны недопустимые аргументы, WordPress не найден или возникла критическая ошибка). |
WP_CLI::error() (документация) — стандартный способ сообщить о сбое и завершить выполнение с кодом 1.
WP_CLI::halt() (документация) можно использовать для завершения с определённым ненулевым кодом, когда команде необходимо сообщить вызывающему скрипту о конкретном результате.
Коды завершения для команд с логическим результатом
Некоторые команды предназначены для непосредственной передачи двоичного результата через код завершения, а не через вывод. Такие команды по-прежнему используют стандартные коды 0/1, но 1 означает «условие не выполнено», а не «операционная ошибка». Например:
wp plugin is-installed <plugin>завершается с кодом0, если плагинПлагин Плагин — это программное обеспечение, содержащее набор функций, которые можно добавить на веб-сайт WordPress. Плагины могут расширять функциональность или добавлять новые возможности на ваши веб-сайты WordPress. Плагины WordPress написаны на языке программирования PHP и легко интегрируются с WordPress. Они могут быть бесплатными в каталоге плагинов WordPress.org https://wordpress.org/plugins/ или платными плагинами от сторонних разработчиков. установлен, и с кодом1, если он не установлен.wp theme is-installed <theme>следует той же схеме.wp core is-installedзавершается с кодом0, если WordPress установлен, и с кодом1, если он не установлен.
Используйте код завершения 1, чтобы обозначить «условие не выполнено» (а не ошибку), когда:
- Результат команды является двоичным (успех/неудача, найдено/не найдено) и должен непосредственно проверяться в условии оболочки.
- Это явно задокументировано, чтобы авторы скриптов знали: код завершения содержит информацию о результате, а не об ошибке.
Не возвращайте ненулевой код завершения для условий, которые являются информационными, а не определённым результатом (например, команда списка, не нашедшая ни одного элемента, всё равно считается успешно выполненной — она вернула пустой список).
Использование кодов завершения в скриптах
Поскольку WP-CLI использует стандартные коды завершения, вы можете напрямую использовать команды WP-CLI в условиях оболочки:
# Проверить, установлен ли плагин, прежде чем пытаться его активировать
if wp plugin is-installed my-plugin; then
wp plugin activate my-plugin
else
echo "Плагин не установлен"
exit 1
fi
Также можно проверить $? после любой команды WP-CLI, чтобы убедиться, что она выполнена успешно:
wp core update
if [ "$?" -ne 0 ]; then
echo "Обновление не удалось"
fi