WP-CLI — это мощный инструмент командной строки для управления сайтом на WordPress. Он позволяет выполнять множество задач без захода в административную панель, что значительно ускоряет работу разработчиков и администраторов. В этой статье мы подробно рассмотрим, как использовать WP-CLI для решения конкретных задач и автоматизации рутинных операций.
Что такое WP-CLI и почему он полезен для разработчиков WordPress
WP-CLI (WordPress Command Line Interface) — это набор команд, предназначенных для управления WordPress-сайтами через терминал или консоль сервера. Вместо того чтобы заходить в админку и выполнять действия вручную, можно быстро и удобно применять команды, что особенно полезно при работе с большим количеством сайтов или при автоматизации.
Основные преимущества WP-CLI:
- Быстрое управление плагинами, темами и обновлениями.
- Выполнение операций с базой данных и импорт/экспорт контента.
- Массовое обновление или удаление элементов.
- Автоматизация задач с помощью скриптов.
WP-CLI устанавливается на сервер и запускается в терминале, что требует базовых знаний командной строки.
Установка и базовая настройка WP-CLI
Для начала работы с WP-CLI необходимо установить его на сервер. Рассмотрим установку на Linux-сервере:
- Скачайте исполняемый файл:
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar- Проверьте работоспособность:
php wp-cli.phar --infoЕсли вы видите информацию о версии и настройках PHP, значит всё в порядке.
- Сделайте файл исполняемым и переместите в директорию с командами:
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wpТеперь команду wp можно запускать из любого места.
Для удобства перейдите в корень вашего WordPress-сайта и начните работать.
Основные команды WP-CLI для управления WordPress
WP-CLI имеет множество команд, но мы рассмотрим самые востребованные и полезные:
Управление плагинами и темами
Чтобы увидеть список установленных плагинов, используйте:
wp plugin listДля активации плагина:
wp plugin activate plugin-slugДля деактивации и удаления:
wp plugin deactivate plugin-slug
wp plugin delete plugin-slugАналогично с темами:
wp theme list
wp theme activate theme-slugОбновление ядра, плагинов и тем
Обновление ядра WordPress:
wp core updateОбновление всех плагинов:
wp plugin update --allОбновление всех тем:
wp theme update --allУправление базой данных
Для создания резервной копии базы данных:
wp db export backup.sqlДля импорта базы:
wp db import backup.sqlОптимизация базы данных:
wp db optimizeРабота с пользователями
Список пользователей:
wp user listДобавление нового пользователя с правами администратора:
wp user create username user@example.com --role=administratorСмена пароля пользователя:
wp user update username --user_pass=newpasswordАвтоматизация задач с помощью WP-CLI и скриптов
WP-CLI отлично подходит для написания bash-скриптов, которые можно запускать по расписанию через cron. Например, ежедневное обновление плагинов и создание бэкапа базы данных:
#!/bin/bash
cd /var/www/wproot.ru/public_html
wp plugin update --all
wp theme update --all
wp db export backups/db-$(date +%F).sql<Сохраняем скрипт, даём права на выполнение и прописываем в cron:
chmod +x update_wp.sh
crontab -e<В crontab добавляем строку для ежедневного запуска в 3 ночи:
0 3 * * * /path/to/update_wp.shТаким образом, вы минимизируете ручной труд и снижаете риск забыть важное обновление.
Использование WP-CLI для отладки и решения проблем WordPress
WP-CLI предоставляет команды для диагностики:
wp plugin status— проверка состояния плагинов.wp theme status— проверка тем.wp option get siteurl— получение текущего URL сайта.wp cache flush— очистка кэша.
Если сайт не загружается после обновления, можно деактивировать все плагины командой:
wp plugin deactivate --allИ затем активировать по одному, чтобы найти проблемный.
Создание собственных команд WP-CLI для решения частных задач
Если стандартных команд недостаточно, можно создавать свои. Например, добавим команду для сброса счётчика просмотров:
class WPRoot_CLI {
public function reset_views($args, $assoc_args) {
global $wpdb;
$wpdb->query("UPDATE {$wpdb->postmeta} SET meta_value = 0 WHERE meta_key = 'wproot_post_views_count'");
WP_CLI::success('Счётчики просмотров сброшены!');
}
}
if (defined('WP_CLI') && WP_CLI) {
WP_CLI::add_command('wproot reset-views', 'WPRoot_CLI');
}Этот код нужно вставить в файл плагина. После этого в консоли можно вызвать:
wp wproot reset-viewsи сбросить метаданные просмотров для всех постов.
Рекомендации и лучшие практики при работе с WP-CLI
Используйте WP-CLI только на доверенных серверах с ограниченным доступом, так как он выполняет команды с правами, которые могут повлиять на работу сайта.
Перед выполнением критичных операций — создавайте резервные копии.
Для удобства можно создавать алиасы для команд или писать собственные скрипты, объединяющие несколько команд WP-CLI.
Тестируйте новые команды и скрипты на локальной копии сайта, чтобы избежать сбоев в продакшене.
WP-CLI — это мощный инструмент, который при правильном использовании значительно ускорит и упростит администрирование и разработку на WordPress.