Управление WordPress с помощью WP-CLI

WordPress – одна из самых популярных систем управления контентом (CMS). Она позволяет быстро создать и развернуть практически любой сайт и даже веб-приложение.

Как правило, управление системой WordPress происходит через удобный графический интерфейс. Однако командная строка WordPress (инструмент wp-cli) также имеет свои преимущества. Например, командна строка позволяет писать скрипты, управлять всеми компонентами сайта (от конфигурационных файлов и БД до публикуемых записей и тем), загружать медиа, публиковать комментарии и многое другое.

Данное руководство научит вас работать с интерфейсом wp-cli.

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

Установка wp-cli

Откройте домашний каталог пользователя.

Для начала нужно установить git; эта система управления версиями нужна для установки wp-cli:

apt-get update
apt-get install git

После этого можно загрузить пакет wp-cli и запустить его установку:

curl https://raw.githubusercontent.com/wp-cli/wp-cli.github.com/master/installer.sh | bash

Эта команда установит несколько инструментов, необходимых для корректной работы ПО.

После этого нужно создать файл .bash_profile для пользователя root и добавить путь в исполняемый файл wp-cli и в скрипт автозавершения.

nano ~/.bash_profile

В этот файл вставьте следующие две строки:

export PATH=/root/.wp-cli/bin:$PATH
source $HOME/.wp-cli/vendor/wp-cli/wp-cli/utils/wp-completion.bash

Сохраните и закройте файл.

Затем выполните команду source:

source ~/.bash_profile

Интерфейс командной строки установлен и готов к работе.

Откройте веб-каталог WordPress, чтобы начать работу.

cd /home/wordpress/public_html

Установка сайта с помощью wp-cli

Примечание: На свежем сервере базовая настройка сайта, вероятно, еще не завершена. Если сайт уже настроен, пропустите этот раздел.

Для взаимодействия с wp-cli используется команда wp. Если запустить её сейчас, она вернёт следующее сообщение:

wp
Error: The site you have requested is not installed.
Run `wp core install`.

Инициализировать сайт можно с помощью IP-адреса или доменного имени; введите эти данные в веб-браузер и заполните появившуюся форму.

Эту форму можно также заполнить при помощи командной строки.

Для этого нужно отправить все поля формы в качестве параметров, присвоив им соответствующее значение; это делается в таком формате:

--parameter="value"

Параметры, которые нужно установить:

  • url: Доменное имя сайта. вместо него можно использовать IP.
  • Title: Название сайта.
  • admin_user: Имя администратора сайта.
  • admin_password: Пароль администратора.
  • admin_email: Адрес электронной почты администратора.

Добавьте эти параметры к команде core и подкоманде install. В итоге должно получиться:

wp core install --url="your_domain_name"  --title="Your Blog Title" --admin_user="admin" --admin_password="your_password" --admin_email="your_email"

Обработка команды может занять некоторое время. После этого на экране появится:

Success: WordPress installed successfully.

Посетите сайт в браузере. На экране появится стандартная страница WordPress.

Справочная система wp-cli

Строка wp-cli не предоставляет стандартного мануала (man), однако она оборудована справочной системой. Чтобы получить справку:

wp help
DESCRIPTION
Manage WordPress through the command-line.
SYNOPSIS
wp <subcommand>
SUBCOMMANDS
cache               Manage the object cache.
cap                 Manage user capabilities.
cli                 Get information about WP-CLI itself.
. . .

На экране появится список наиболее важных подкоманд wp-cli. Чтобы закрыть справку, введите:

q

Чтобы получить подкоманды для определённого компонента, введите команду wp и через пробел – искомый компонент.

wp <tab><tab>
cache           eval            network-meta    role            theme
cap             eval-file       option          scaffold        transient
cli             export          plugin          search-replace  user
comment         help            post            shell           user-meta
core            import          post-meta       site
db              media           rewrite         term

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

wp help theme
NAME
wp theme
DESCRIPTION
Manage themes.
SYNOPSIS
wp theme <subcommand>
SUBCOMMANDS
activate          Activate a theme.
delete            Delete a theme.
. . .

Как видите, каждая подкоманда имеет свой набор подкоманд. Справочная система предоставляет данные о структуре команды:

wp help theme install
NAME
wp theme install
DESCRIPTION
Install a theme.
. . .

Установка тем

Попробуйте становить тему для сайта при помощи командной строки wp-cli.

Чтобы просмотреть ранее установленные темы, введите:

wp theme list
+----------------+----------+--------+---------+
| name           | status   | update | version |
+----------------+----------+--------+---------+
| twentythirteen | active   | none   | 1.1     |
| twentytwelve   | inactive | none   | 1.3     |
+----------------+----------+--------+---------+

В списке указаны две установленные ранее темы. Ткущей темой является twentythirteen. Попробуйте изменить это.

Поиск темы выполняется с помощью следующей команды:

wp theme search fancy
Success: Showing 5 of 5 themes.
+---------------+---------------+--------+
| name          | slug          | rating |
+---------------+---------------+--------+
| Bold Headline | bold-headline | 100    |
| Clearly       | clearly       | 90     |
| The Skeleton  | the-skeleton  | 100    |
| Metronome     | metronome     | 0      |
| Shipyard      | shipyard      | 0      |
+---------------+---------------+--------+

Согласно полученному результату, параметру fancy отвечают 5 тем. Установите, к примеру, Bold Headline. Для этого добавьте в следующую команду строку из столбца slug.

wp theme install bold-headline

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

wp theme list
+----------------+----------+--------+---------+
| name           | status   | update | version |
+----------------+----------+--------+---------+
| bold-headline  | inactive | none   | 1.2.5   |
| twentythirteen | active   | none   | 1.1     |
| twentytwelve   | inactive | none   | 1.3     |
+----------------+----------+--------+---------+

Тема Bold Headline была успешно установлена.

Чтобы включить эту тему, введите:

wp theme activate bold-headline

Посетите сайт и убедитесь, что тема изменилась.

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

При помощи командной строки можно управлять плагинами. Чтобы просмотреть список установленных плагинов, введите:

wp plugin list
+---------+----------+--------+---------+
| name    | status   | update | version |
+---------+----------+--------+---------+
| akismet | inactive | none   | 2.5.9   |
| hello   | inactive | none   | 1.6     |
+---------+----------+--------+---------+

Установите плагин Digg-Digg, предлагающий пользователям поделиться этим контентом на страницах социальных сетей.

wp plugin search Digg

Программа предложит вам список найденных плагинов, выберите aas-digg-digg-alternative и установите его (имя для установки находится в столбце slug)

wp plugin install aas-digg-digg-alternative

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

Управление контентом

Также командная строка wp-cli позволяет создавать записи.

Чтобы просмотреть список опубликованных записей, введите:

wp post list
+----+--------------+-------------+---------------------+-------------+
| ID | post_title   | post_name   | post_date           | post_status |
+----+--------------+-------------+---------------------+-------------+
| 1  | Hello world! | hello-world | 2013-10-31 20:02:18 | publish     |
+----+--------------+-------------+---------------------+-------------+

На данный момент на сайте опубликована только стандартная запись. Отредактируйте её, добавив более полезный контент.

Получить доступ к записи можно с помощью её ID:

wp post edit 1

Удалите стандартный текст и замените его:

Hello.  This is my first official blog post.  I hope to be adding some additional content here soon.
Have a great day!

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

wp post update 1 --post_title="An Introduction..."

Посетите сайт и убедитесь, что запись обновлена.

Чтобы добавить новую запись, введите:

wp post create --post_status=publish --post_title="Second Post" --edit

На экране появится редактор, в котором можно ввести текст новой записи.

Hello.
Here is another post.
I am becoming quite prolific.

Запрос данных

Строка wp-cli может взаимодействовать с данными SQL.

Чтобы открыть интерактивную сессию БД WordPress, наберите:

wp db cli

На экране появится командная строка MySQL, при помощи которой можно управлять данными. Чтобы закрыть эту строку:

exit

Общие операции БД можно выполнять непосредственно в wp-cli.

Чтобы запросить пользователей и их ID, введите:

wp db query "SELECT user_login,ID FROM wp_users;"
+------------+----+
| user_login | ID |
+------------+----+
| admin      |  1 |
+------------+----+

Как видите, на данный момент есть только один пользователь. Эту информацию можно использовать для редактирования только что добавленной записи, например, указать автора.

Примечание: Укажите номер записи, которую нужно отредактировать.

wp post update 6 --post_author=1

Итак, теперь на сайте указан автор записи.

Для оптимизации БД используется команда:

wp db optimize

Обновление WordPress

Чтобы обновить WordPress до боле актуальной версии, введите:

wp core update
wp core update-db

Также можно обновить все установленные плагины:

wp plugin update --all

Заключение

Как видите, командная строка WordPress – довольно полезный инструмент, позволяющий быстро выполнять множество задач по управлению сайтом и клиентами.

Tags: ,

1 комментарий

Добавить комментарий