Управление вашим сайтом на WordPress из командной строки
@webwareПервая стабильная версия 1.0 WP-CLI была выпущена 29 ноября 2016 года и является важной вехой в истории WP-CLI - интерфейс командной строки для WordPress, созданный 5 лет назад. Полные изменений над предыдущими версиями можно найти на блоге wp-cli.org. Мы рассмотрим как с помощью WP-CLI управлять веб-сайтом на WordPress.

Как WP-CLI может быть полезно
- Более эффективное управление задачами WordPress
- Сохранит много ваших кликов и время загрузки страницы
- Делает вещи, которые вы не можете сделать в графической панели WordPress
Как установить WP-CLI на сервере Linux
Войдите по SSH на ваш сервер Linux и скачайте wp-cli.phar архив с помощью curl или wget.
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
или
wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
Затем проверьте, работает ли он, используя следующую команду:
php wp-cli.phar --info
Вы увидите что-то подобное выводу ниже, если он работает:
PHP binary: /usr/bin/php PHP version: 7.0.13 php.ini used: /etc/php/php.ini WP-CLI root dir: phar://wp-cli.phar WP-CLI packages dir: WP-CLI global config: WP-CLI project config: WP-CLI version: 1.0.0
Далее мы добавим разрешение на исполнение в архивный файл, переместим его в /usr/local/bin/ и переименуем его в wp:
chmod +x wp-cli.phar sudo mv wp-cli.phar /usr/local/bin/wp
Теперь мы можем использовать просто wp вместо php wp-cli.phar:
wp --info
Как использовать WP-CLI
При выполнении команды wp-cli, для изменения файлов и каталогов сайта WordPress, вам нужно запустить команду как пользователь веб-сервера, который обычно называется www-data, apache или nginx.
Когда параметр не запускается под sudo, выполните команду из под root. Для выполнения команды в качестве другого пользователя используйте параметр -u, как показано ниже:
sudo -u www-data wp plugin update --all
Приведённая выше команда wp plugin update --all будет работать как команда пользователя www-data. Команды wp-cli не изменяют файлы или каталоги, а просто получают информацию и могут работать как обычный пользователь.
Еще один момент, чтобы отметить это, вам нужно изменить ваш рабочий каталог на каталог установки WordPress перед выполнением любой команды wp-cli:
cd /var/www/wp-site/
Закончим с этим и давайте посмотрим, как управлять ядром WordPress, темами и плагинами для него с помощью WP-CLI.
Управление WordPress
Проверка версия ядра WordPress:
wp core version
Отображение дополнительной информации о ядре WordPress:
wp core version --extra
Обновление ядра WordPress:
wp core update
Обновление базы данных WordPress:
wp core update-db
Проверка MD5 хеша:
wp core verify-checksums
Управление темами WordPress
Список установленных тем:
wp theme list
Поиск темы:
wp theme search <theme_name>
Установка темы:
wp theme install <theme_name>
Установка темы из указанного URL-адреса:
wp theme install http://example.com/theme_name.zip
Активные темы:
wp theme active <theme_name>
Обновление темы:
wp theme update <theme_name>
Обновление всех тем:
wp theme update --all
Удаление темы:
wp theme uninstall <theme_name>
Управление плагинами для WordPress
Список всех плагинов, установленных на WordPress. Строка name показывает вам slugs, используемые плагинами:
wp plugin list
Список плагинов, которые можно обновить:
wp plugin list --update=available
Отображения выходных данных в формате json или csv:
wp plugin list --format=json wp plugin list --format=csv
Установка плагина WordPress из каталога с плагинами:
wp plugin install <plugin_name>
Установка плагина из указанного URL-адреса:
wp plugin install http://www.example.com/plugin_name.zip
Активировать плагин:
wp plugin activate <plugin_name>
Отключить плагин:
wp plugin deactive <plugin_name>
Удалить плагин:
wp plugin uninstall <plugin_name>
Обновление плагина:
wp plugin update <plugin_name>
Обновление всех плагинов:
wp plugin update --all
Резервное копирование базы данных WordPress и файлов
Выполните следующую команду для резервного копирования базы данных. Обратите внимание, что очень небезопасно размещать файл SQL в корневом каталоге вашего веб-сайта. Вместо этого поместите его в другое место, например ваш домашний каталог:
wp db export ~/backup_db.sql
Для резервного копирования файлов можно использовать старый добрый tar архив:
sudo tar -cpzvf ~/wp-file-backup.tar.gz /var/www/wp-site/
Простой скрипт для автоматическое обновление WordPress, плагинов и тем
Мы можем написать shell скрипт, который автоматически обновит ядро WordPress, темы и плагины. Создайте новый .sh файл в домашнем каталоге пользователя root:
sudo nano /root/auto-update-wp.sh
Поместите следующие строки в файл:
#! /bin/sh cd /var/www/wp-site/ sudo -u www-data wp core update sudo -u www-data wp core update-db sudo -u www-data wp theme update --all sudo -u www-data wp plugin update --all
Сохраните скрипт и дайте разрешение на исполнение:
sudo chmod +x auto-update-wp.sh
Затем добавьте новую запись в crontab пользователя root:
sudo crontab -e
Следующая запись будет проверять и выполнять автоматическое обновление каждый день в 9 утра:
0 9 * * * /root/auto-udpate-wp.sh
Вот и всё! Конечно это простой мини-обзор. WP-CLI очень расширяемо и с помощью его можно сделать очень много интересных вещей.