Управление 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: WordPress, WP-CLI
1 комментарий
круто