Как использовать WP-CLI для автоматизации WordPress

WP-CLI — это удобный инструмент командной строки, который позволяет выполнять множество операций с WordPress без необходимости заходить в административную панель. Для разработчиков и системных администраторов это значительное упрощение и ускорение рутинных задач, таких как обновления, установка плагинов, управление пользователями и многое другое.

Что такое WP-CLI и зачем он нужен для WordPress

WP-CLI — это набор команд, который устанавливается на сервер и позволяет управлять сайтом WordPress через терминал. Основные преимущества использования WP-CLI:

  • Автоматизация задач без GUI;
  • Возможность создания скриптов для массового управления сайтами;
  • Быстрый доступ к административным функциям;
  • Удобство при работе с удалёнными серверами.

Если вы часто обновляете плагины, темы, базу данных или управляете сотнями пользователей, WP-CLI значительно экономит время.

Установка и базовые команды WP-CLI

Для начала работы с WP-CLI его нужно установить на сервер. Обычно это делается так:

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
php wp-cli.phar --info
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

После этого команда wp становится доступной в терминале.

Основные команды для начала работы:

  • wp core version — показывает текущую версию WordPress;
  • wp plugin list — список установленных плагинов;
  • wp plugin install plugin-slug --activate — установка и активация плагина;
  • wp theme list — список тем;
  • wp user create username email@example.com --role=editor — создание пользователя.

Примеры автоматизации с помощью WP-CLI

Автоматическое обновление WordPress, плагинов и тем

Часто нужно поддерживать сайт в актуальном состоянии. Вместо ручного обновления через админку, можно сделать скрипт:

wp core update
wp plugin update --all
wp theme update --all

Этот набор команд обновит ядро, все плагины и темы.

Бэкап базы данных и загрузка файлов

WP-CLI позволяет быстро сделать дамп базы данных:

wp db export backup.sql

Можно автоматизировать выгрузку с помощью cron, например:

0 3 * * * wp db export /var/backups/wp_$(date +\%F).sql --path=/var/www/html

Это создаст ежедневный бэкап базы данных с текущей датой в имени файла.

Массовое создание пользователей с определённой ролью

Если нужно добавить много пользователей, можно написать простой bash-скрипт с WP-CLI:

#!/bin/bash

for i in {1..10}
do
  wp user create wpcoder${i} wpcoder${i}@example.com --role=subscriber --user_pass=Pass1234
  echo "Пользователь wpcoder${i} создан"
done

Так вы быстро создадите 10 пользователей с паролем Pass1234.

Использование кастомных команд WP-CLI на примере wpcoder

WP-CLI позволяет создавать свои собственные команды для специфичных задач. Например, команда, которая выводит количество опубликованных записей:

class WP_Coder_Command {
  public function post_count() {
    $count = wp_count_posts()->publish;
    WP_CLI::success( "Опубликованных записей: $count" );
  }
}

WP_CLI::add_command( 'wpcoder', 'WP_Coder_Command' );

Чтобы подключить эту команду, добавьте этот код в файл плагина или в functions.php.

После этого в терминале выполните:

wp wpcoder post_count

Вы получите число опубликованных постов вашего сайта.

Советы и лучшие практики при работе с WP-CLI

Несколько рекомендаций для эффективного использования WP-CLI:

  • Тестируйте команды на локальной копии перед применением на рабочем сайте;
  • Используйте флаги --dry-run и --debug для проверки команд;
  • Создавайте скрипты для регулярных задач и запускайте через cron;
  • Обязательно делайте резервные копии базы и файлов перед массовыми изменениями;
  • Используйте кастомные команды для оптимизации частых операций.

WP-CLI — мощный инструмент, который при правильном использовании значительно упрощает жизнь разработчикам и администраторам WordPress-сайтов.

WooCommerce: очистка корзины и автоматическое удаление старых заказов
30.04.2026
Как создать собственный плагин для автоматизации задач в WordPress
28.03.2026
Как создать автоматический импорт постов по RSS в WordPress
05.02.2026
Как отладить проблемы с AJAX в WordPress
07.04.2026
Автоматизация создания и удаления пользовательских метаполей в WordPress
10.04.2026