Добро пожаловать в WP-CLI!

WP-CLI является официальным инструментом командной строки для взаимодействия с вашими сайтами WordPress и управления ими.

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

Во-первых, работать в командной строке, SSH, Telnet, например (tutty).

Начинаем установку.
Скачиваем WP-CLI,

или:

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Затем проверьте, работает ли он:

php wp-cli.phar --info Примерный ответ:

OS:  Linux 4.10.0-42-generic #46~16.04.1-Ubuntu SMP Mon Dec 4 15:57:59 UTC 2017 x86_64

Shell:   /usr/bin/zsh

PHP binary:    /usr/bin/php

PHP version:     7.1.12-1+ubuntu16.04.1+deb.sury.org+1

php.ini used:   /etc/php/7.1/cli/php.ini

WP-CLI root dir:        /home/wp-cli/.wp-cli

WP-CLI packages dir:    /home/wp-cli/.wp-cli/packages/

WP-CLI global config:   /home/wp-cli/.wp-cli/config.yml

WP-CLI project config:

WP-CLI version: 1.5.0


Создаём папку bin в корне хоста, если её нет и ставим файл  wp-cli.phar в неё.
Затем проверьте, работает ли он:

php bin/wp-cli.phar –info

Выполним:
chmod +x bin/wp-cli.phar
mv bin/wp-cli.phar /bin/wp

Чтобы иметь возможность вводить где угодно:
Создаем файл .profile в корне хоста, если он есть, добавить недостающие строки:

PATH=':/sbin:/bin:/usr/sbin:/usr/bin'
alias wp='путь /php /путь /bin/wp'

Перезапустим tutty
Проверяем:
wpinfo

Теперь вы являетесь официальным пользователем WP-CLI.

Хотите знать, что делать дальше? Проверьте быстрый старт руководство для краткого введения и некоторые примеры использования.

Например, поскольку вы можете установить плагин от администратора WordPress, вы также можете установить плагин с WP-CLI:

$ wp plugin install akismet
Installing Akismet (3.1.8)
Downloading install package from https://downloads.wordpress.org/plugin/akismet.3.1.8.zip...
Unpacking the package...
Installing the plugin...
Plugin installed successfully.

И, поскольку вы также можете активировать плагины от администратора WordPress, вы можете активировать плагин с WP-CLI:

$ wp plugin activate akismet
Success: Plugin 'akismet' activated.

Одно из ключевых отличий между использованием администратора WordPress и WP-CLI: выполнение любого действия занимает гораздо меньше кликов. По мере того как вы будете более знакомы с командной строкой, вы заметите выполнение данной задачи с WP-CLI, как правило, гораздо быстрее, чем выполнение той же задачи через администратора WordPress. Инвестирование времени авансом в обучение, как лучше использовать WP-CLI платит дивиденды в долгосрочной перспективе.

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

Вот несколько распространенных примеров того, как используется WP-CLI:

Скачать и установить WordPress в считанные секунды

  1. Скачать последнюю версию WordPress с (doc).wp core download
$ wp core download --path=wpclidemo.dev
Creating directory '/srv/www/wpclidemo.dev/'.
Downloading WordPress 4.6.1 (en_US)...
Using cached file '/home/vagrant/.wp-cli/cache/core/wordpress-4.6.1-en_US.tar.gz'...
Success: WordPress downloaded.
  1. Создайте новый файл wp-config.php с(doc).wp config create
$ cd wpclidemo.dev
$ wp config create --dbname=wpclidemo --dbuser=root --prompt=dbpass
1/10 [--dbpass=<dbpass>]:
Success: Generated 'wp-config.php' file.
  1. Создайте базу данных на основе wp-config.php с(doc).wp db create
$ wp db create
Success: Database created.
  1. Установите WordPress с(doc).wp core install
$ wp core install --url=wpclidemo.dev --title="WP-CLI" --admin_user=wpcli --admin_password=wpcli --admin_email=info@wp-cli.org
Success: WordPress installed successfully.

Ну вот!

Обновление плагинов к их последней версии

Используйте (doc) для обновления всех плагинов к их последней версии.

wp plugin update --all

$ wp plugin update --all
Enabling Maintenance mode...
Downloading update from https://downloads.wordpress.org/plugin/akismet.3.1.11.zip...
Unpacking the update...
Installing the latest version...
Removing the old version of the plugin...
Plugin updated successfully.
Downloading update from https://downloads.wordpress.org/plugin/nginx-champuru.3.2.0.zip...
Unpacking the update...
Installing the latest version...
Removing the old version of the plugin...
Plugin updated successfully.
Disabling Maintenance mode...
Success: Updated 2/2 plugins.
+------------------------+-------------+-------------+---------+
| name                   | old_version | new_version | status  |
+------------------------+-------------+-------------+---------+
| akismet                | 3.1.3       | 3.1.11      | Updated |
| nginx-cache-controller | 3.1.1       | 3.2.0       | Updated |
+------------------------+-------------+-------------+---------+

Добавить пользователя в качестве супер-администратора

На многосайте, используйте (doc) для предоставления возможностей супер администратора существующему пользователю.

wp super-admin add

$ wp super-admin add wpcli
Success: Granted super-admin capabilities.

Регенерировать эскизы

Если вы добавили или изменили размер изображения, зарегистрированный с, вы можете использовать (doc), так что ваша тема отображает правильный размер изображения.

add_image_size()wp media regenerate

wp media regenerate --yes
Found 1 image to regenerate.
1/1 Regenerated thumbnails for "charlie-gpa" (ID 4).
Success: Finished regenerating the image.

Хотите знать, что дальше? Просмотрите все команды WP-CLI, чтобы исследовать ваш новый мир. Или, догнать оболочки друзей, чтобы узнать о полезных утилитах командной строки.

 

Обновление WordPress с интерфейсом командой строки проходит в два этапа, так как вам необходимо обновить файлы WordPress, а затем базу данных.

Начните с обновления корневых файлов WordPress:

wp core update
 Запустите команду для обновления базы данных до необходимой версии:
wp core update-db
 Примерный результат:
Success: WordPress database already at latest db version 38590.

Для обновления темы или плагина WordPress через WP-CLI смените core на theme или plugin. Параметр –all используется для обновления всех установленных тем/плагинов, но вы можете изменить его на определенное название плагина или темы:

Для тем:

wp theme update --all

Для плагинов:

wp plugin update --all

С помощью WP-CLI вы можете автоматизировать процесс импорта изображений. К примеру, мы хотим импортировать все изображения из папки изображения_для_сайта. Мы может достичь этой цели использовав эту одну команду:

wp media import изображения_для_сайта/*

операция генерирует SQL файл дампа вашей базы данных WordPress:

wp db export

Примерный результат:

Success: Exported to 'u694443746_dapyz-a0d3f2a.sql'.

Для импорта SQL файла в базу данных WordPress:

wp db import file.sql

Полный список команд

КомандаОписание
wp adminОткрывает /wp-admin/ в браузере.
wp cacheДобавляет, удаляет, формирует кеш.
wp capДобавляет, удаляет, показывает список возможностей пользователей.
wp cliПосмотреть версию WP-CLI, проверить обновления.
wp commentСоздавать, удалять, модерировать комментарии.
wp configГенерирует и выводит wp-config.php файл.
wp coreСкачивает, устанавливает и обновляет движок.
wp cronТестирование, запуск и удаление Cron событий.
wp dbОперации с базой данных.
wp dist-archiveСоздает архив для дистрибуции
wp embedПросмотр oEmbed источников, очистка кеша.
wp evalВыполняет произвольный PHP код.
wp eval-fileЗагружает и выполняет PHP файл.
wp exportЭкспорт контента в WXR файл.
wp findПоиск установленных WP.
wp helpПомощь по WP-CLI.
wp i18nИнструменты для перевода WP.
wp importИмпорт контента из WXR файла.
wp languageУстановка, активация и просмотр языков.
wp maintenance-modeАктивация и деактивация режима обслуживания.
wp mediaИмпорт медиафайлов, пересоздание миниатюр, список зарегистрированных размеров.
wp menuПросмотр, создание, удаление меню.
wp networkОперации по работе с сетью.
wp optionПолучение всех опций сайта.
wp packageПросмотр, установка и удаление WP-CLI пакетов.
wp pluginПросмотр, установка, активация и удаление плагинов.
wp postПросмотр постов.
wp post-typeПросмотр информации обо всех типах постов.
wp profileРабота с профилями
wp rewriteСписок правил перенаправления, ЧПУ.
wp roleПросмотр ролей пользователей.
wp scaffoldГенератор кода для типов постов, таксономий, плагинов и т.д.
wp search-replaceПравильный поиск и замена по базе данных.
wp serverЗапускает сервер для WP.
wp shellОткрывает PHP консоль для тестирования кода.
wp sidebarСписок сайдбаров.
wp siteРабота с мультисайтом, создание, удаление и т.д.
wp super-adminРабота с юзерами в режиме мультисайта.
wp taxonomyПолучение информации обо всех таксономиях.
wp termПросмотр и работа с элементами таксономий.
wp themeПросмотр, установка, активация и удаление тем.
wp transientРабота с временным кешем Transient.
wp userРабота с пользователями.
wp widgetРабота с виджетами.

Примеры команд

Обновляем WP до актуальной версии:

wp core update

Получаем список всех плагинов, которые есть на сайте:

wp plugin list

Экспорт базы данных в SQL файл:

wp db export wp.sql

Сгенерировать рандомные посты:

wp post generate –count=5 –post_type=post

Заключение

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