WP-CLI — это инструмент, который дает возможность администрировать WordPress через CLI (интерфейс командной строки). В нем вы сможете выполнять как стандартные функции, вроде установки плагинов, так и команды не поддерживаемые стандартным интерфейсом WordPress. Главным преимуществом использования WP-CLI является время, сэкономленное при установке, настройке и управлении вашим сайтом на WordPress. К примеру, если у вас есть несколько сайтов, вам больше не надо будет заходить на каждый из них для проведения рутинных задач, вы просто можете настроить WP-CLI для их автоматического выполнения.
Для получения полного списка возможностей, вы можете посетить официальный сайт проекта WP-CLI.
Для установки WP-CLI на VPS или локальную систему Linux, выполните действия ниже:
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
Подтвердите успешность загрузки с помощью команды:
php wp-cli.phar --info OS: Linux 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64 Shell: /bin/bash PHP binary: /opt/cpanel/ea-php80/root/usr/bin/php PHP version: 8.0.19 php.ini used: /opt/cpanel/ea-php80/root/etc/php.ini MySQL binary: /usr/bin/mysql MySQL version: mysql Ver 14.14 Distrib 5.7.38, for Linux (x86_64) using EditLine wrapper SQL modes: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION WP-CLI root dir: phar://wp-cli.phar/vendor/wp-cli/wp-cli WP-CLI vendor dir: phar://wp-cli.phar/vendor WP_CLI phar path: /root WP-CLI packages dir: WP-CLI global config: WP-CLI project config: WP-CLI version: 2.6.0
Теперь вам необходимо установить wp-cli.phar, как исполняемый файл. Впишите:
chmod +x wp-cli.phar
Для завершения установки, переименуем и переместим WP-CLI, чтобы файл был виден в системе:
mv wp-cli.phar /usr/local/bin/wp
Теперь WP-CLI установлен, вы можете начать работу с контентом вашего WordPress через CLI.
WP-CLI идет вместе с несколькими предустановленными командами. Их список может быть расширен после установки определенных плагинов, которые поддерживаются WP-CLI. Вы можете найти список плагинов для WP-CLI вместе со всем командами на официальном сайте.
Команда представленная ниже показывает информацию о версии WP-CLI:
wp --info
Эта команда необходима для получения списка команд WP-CLI и его документации:
wp help или так /usr/local/bin/wp --allow-root --help
К примеру, если вы хотите больше узнать о команде comment, впишите:
wp help comment wp --allow-root --help comment
php /usr/local/bin/wp --allow-root --path=/home/regary/public_html/ plugin list
Во-первых, найдите сам плагин yoast:
php /usr/local/bin/wp --allow-root --path=/home/regary/public_html/ plugin search "yoast"
yoast первый в списке, смотрим его slug и устанавливаем
php /usr/local/bin/wp --allow-root --path=/home/regary/public_html/ plugin install wordpress-seo --activate
wp --allow-root package install wp-cli/profile-command
Обновление профиля wp Вы можете обновить до последней версии пакет с помощью этой команды
wp package update --allow-root
Эта команда показывает этапы загрузки WordPress. Вы получите эту таблицу с подробной информацией. В основном ваш фокус должен быть на столбце time.
wp --allow-root --path=/home/regary/public_html/ profile stage
Может быть развернута на каждом этапе, здесь мы переходим на стадию bootstrap. Вы увидите хуки, используемые на этом этапе:
wp --allow-root --path=/home/regary/public_html/ profile stage bootstrap
Обычно предпочитают использовать флаг -all для команды stage
wp --allow-root --path=/home/regary/public_html/ profile stage --all
Можно использовать флаг —spotlight для фильтрации нулевых значений для упрощения чтения:
wp --allow-root --path=/home/regary/public_html/ profile stage --all --spotlight
Вывести функции, вызываемые в wp хуках на конкретном сайте:
wp --allow-root --path=/home/regary/public_html/ profile hook wp
Вы можете даже имитировать загрузку для определенного URL-адреса на сайте с помощью флага url:
wp --allow-root --path=/home/regary/public_html/ profile hook --all --spotlight --url=https://dieg.info/vps-hosting/
Теперь вы можете диагностировать проблемы, запустив команды профиля wp до и после деактивации плагинов, сравнив результаты wp-профиля до и после.
wp plugin deactivate plugin-name
Ниже представлены некоторые дополнительные команды утилиты WP-CLI, которыми вы наверняка когда-нибудь воспользуетесь, если занимаетесь разработкой тем, плагинов для WordPress или поиском ошибок.
Выполнить запрос в базу данных WordPress:
wp db query "SELECT COUNT(*) FROM wp_posts;" +----------+ | COUNT(*) | +----------+ | 512 | +----------+
Полный экспорт и импорт базы данных WordPress:
$ wp db export wordpress.sql
Success: Exported to wordpress.sql
$ wp db import wordpress.sql
Success: Imported from wordpress.sql
Сгенерировать десять записей:
$ wp post generate --count=10 --post_type=post Generating posts 100%[=======================================] 0:01 / 0:01
Сгенерировать десять записей с контентом от сервиса loripsum.net:
$ curl http://loripsum.net/api/5 | wp post generate --post_content --count=10 Generating posts 100%[=======================================] 0:01 / 0:01
Одна из самых мощных возможностей утилиты WP-CLI это интерактивная консоль WordPress. Интерактивная консоль — незаменимая вещь при отладке кода.
$ wp shell wp> $p = get_post( 32065 ); wp> $p->post_title; string(45) "WordPress в командной строке с помощью WP-CLI"
В интерактивной консоли доступны все функции и классы окружения WordPress, но учтите что при возникновении фатальной ошибки интерактивная консоль вам о ней не сообщит. Вам нужно будет вручную просмотреть журнал ошибок PHP.
Функционал WP-CLI может быть расширен с помощью сторонних плагинов. Работа с WordPress становится гораздо проще, когда вам не надо переходить из раздела в раздел панели управления для поиска определенной функции. Если же у вас несколько сайтов на WordPress, вы можете серьезно сэкономить время на повседневных задачах. Это руководство дает вам основу, которая нужна для работы с основными задачами и функциями CLI для WordPress.