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

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

Что такое WP-CLI и почему он полезен

WP-CLI (WordPress Command Line Interface) — это набор команд для управления WordPress через терминал. Он позволяет выполнять операции с плагинами, темами, базой данных, пользователями и настройками без использования браузера. Особенно полезен для:

Для разработчиков WP-CLI — это инструмент, который экономит время и снижает количество ошибок, связанных с ручным вводом.

Установка и базовая настройка WP-CLI

WP-CLI можно установить на сервер с доступом к SSH. Основные шаги:

  1. Скачайте бинарный файл WP-CLI:
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
  1. Проверьте работоспособность:
php wp-cli.phar --info
  1. Сделайте файл исполняемым и переместите в PATH:
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

Теперь вы можете запускать команды через wp.

Основные команды WP-CLI для автоматизации задач

Рассмотрим полезные команды для автоматизации повседневных задач.

Управление плагинами и темами

Работа с базой данных

Управление пользователями

Автоматизация задач с помощью пользовательских команд WP-CLI

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

class WPDetect_Cleanup_Command {
    /**
     * Удаляет черновики, созданные более 30 дней назад
     *
     * ## EXAMPLES
     *
     *     wp wpdetect cleanup-drafts
     *
     * @when after_wp_load
     */
    public function cleanup_drafts() {
        $args = [
            'post_type' => 'post',
            'post_status' => 'draft',
            'date_query' => [
                [
                    'before' => date('Y-m-d', strtotime('-30 days')),
                ],
            ],
            'fields' => 'ids',
            'nopaging' => true,
        ];
        $drafts = get_posts($args);

        if (empty($drafts)) {
            WP_CLI::success('Нет черновиков для удаления.');
            return;
        }

        foreach ($drafts as $draft_id) {
            wp_delete_post($draft_id, true);
        }
        WP_CLI::success('Удалено ' . count($drafts) . ' старых черновиков.');
    }
}

if (defined('WP_CLI') && WP_CLI) {
    WP_CLI::add_command('wpdetect cleanup-drafts', 'WPDetect_Cleanup_Command');
}

Чтобы использовать команду, добавьте этот класс в файл плагина или темы, подключите его и вызовите в терминале:

wp wpdetect cleanup-drafts

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

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

Можно написать bash-скрипт, который на cron обновляет плагины и отправляет отчет на почту:

#!/bin/bash
cd /var/www/your-wordpress-site
wp plugin update --all
UPDATED=$(wp plugin list --update=available --field=name)
if [ -z "$UPDATED" ]; then
  echo "Все плагины обновлены." | mail -s "Отчет обновления плагинов" admin@example.com
else
  echo "Обновлены плагины: $UPDATED" | mail -s "Отчет обновления плагинов" admin@example.com
fi

Автоматическое создание резервных копий

С помощью WP-CLI можно быстро создавать дампы базы данных и архивировать файлы:

#!/bin/bash
cd /var/www/your-wordpress-site
DATE=$(date +"%Y%m%d%H%M")
wp db export backups/db_backup_$DATE.sql
zip -r backups/files_backup_$DATE.zip wp-content/uploads
# Далее можно скопировать файлы на удаленный сервер или облако

Рекомендации по безопасности при работе с WP-CLI

WP-CLI работает с полными правами пользователя, под которым запущен процесс, поэтому важно соблюдать меры безопасности:

Заключение

WP-CLI — незаменимый инструмент для автоматизации работы с WordPress. Он позволяет ускорить рутинные операции, снизить количество ошибок и интегрировать управление сайтом в современные DevOps-процессы. Используйте встроенные команды и создавайте собственные для решения специфичных задач. Для удобства можно комбинировать WP-CLI с планировщиком задач cron и bash-скриптами.

Если вы хотите расширить функционал WordPress с помощью готовых решений, обратите внимание на плагины из WPSHOP, которые помогут автоматизировать и оптимизировать работу сайта.

Автоматизация удаления старых постов в WordPress по дате и статусу
25.11.2025
Как установить автоматическое удаление спама в комментариях WordPress
11.12.2025
Как автоматизировать удаление неиспользуемых постов по типу и статусу в WordPress
14.12.2025
Как установить автоматический ежедневный бэкап WordPress с помощью WPDetect
10.02.2026
Как создать простой пинг-монитор для WordPress с примерами кода
05.12.2025