Oh Snap!

Please turnoff your ad blocking mode for viewing your site content

WP-CLI v2 – Управление WordPress с терминала

/
/
/
0 Views
WP-CLI v2 – Управление WordPress с терминала
Rate this post

На протяжении большей части своей жизни WordPress был создан с использованием простой базы кода с тире объектно-ориентированного PHP, являющегося самой абстрактной системой. Однако в последние несколько лет это меняется к лучшему. От модульного тестирования до предварительной обработки CSS и инструментов командной строки все больше и больше проявляющих интерес активов появляются. В этой статье мы рассмотрим один из моих фаворитов: WP-CLI.

WP-CLI уже более десяти лет является проектом с открытым исходным кодом, который поддерживается в основном Даниэлем Баххубер с 2003 года. Основная задача WP-CLI – помочь ускорить рабочие процессы разработчиков WordPress ]

На протяжении многих лет проект стал намного больше! Теперь это становится даже требованием для других проектов с открытым исходным кодом, таких как Trellis и Bedrock. По состоянию на январь 2017 года WP-CLI официально перешел на WordPress.org и в настоящее время поддерживается совместно Аленом Шлессером.

WP-CLI v2 выходит 31 июля 2018 года, поэтому мы также изучим некоторые из изменения и новые возможности. Если вы клиент Kinsta, WP-CLI 1.5.1 по умолчанию установлен на всех наших серверах просто SSH на ваш сервер, чтобы начать работу. Примечание: WP-CLI v2.0.0 будет доступен на серверах Kinsta, как только он будет официально выпущен, и был полностью протестирован нашей командой sysadmin.

  • Получение WP-CLI
  • Основы WP-CLI
  • WP-CLI Commands in General
  • Полезные примеры
  • Использование WP-CLI удаленно
  • Использование сценариев Bash

Получение WP-CLI

Минимальное требование PHP для WP-CLI v2.0.0 было натолкнуто к PHP 5.4. Хотя это хороший шаг вперед, мы рекомендуем вам хотя бы запустить поддерживаемую версию PHP, что означает 5.6 или выше. PHP 7.2 по умолчанию используется для всех установок Kinsta, как по соображениям безопасности, так и по производительности.

Чтобы начать работу, вам необходимо установить WP-CLI – очень простой процесс. Шаги для Linux и OSX заключаются в следующем: эти три команды вызывают один за другим:

 curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli .phar
chmod + x wp-cli.phar
sudo mv wp-cli.phar / usr / local / bin / wp

Если что-то пошло не так, или вы находитесь в Windows, обратитесь к основным инструкциям или альтернативным методам установки.

После того, как вы закончите, вы сможете отправить команду wp -info и получить осмысленное response.

Процесс тот же, если вы хотите установить WP-CLI на свой сервер. Помните, что для клиентов Kinsta WP-CLI уже установлен. Не знаете, какую версию вы сейчас используете? Вы всегда можете выдать команду wp cli version чтобы узнать.

Основы WP-CLI

Доступ к WordPress из командной строки сам по себе является мощным, но может дать вам даже больше контроля и увеличения скорости при использовании сценариев bash.

Сценарии Bash позволяют запускать последовательность команд с помощью одной команды. Вы можете ввести bash install-and-setup.sh и получить следующий результат:

  • Загрузить WordPress
  • Создать и заполнить wp-config.php
  • Создать база данных
  • Установить WordPress
  • Установить и активировать любые необходимые вам плагины
  • Установить и активировать тему
  • Загрузите и добавьте тестовое содержимое

Это будут шаги, которые я бы предпринял для создания новой тестовой среды для проект. Обычно мне понадобилось бы 5-10 минут, особенно если есть несколько подключаемых модулей. Выпуск одной команды, очевидно, является лотом быстрее.

Команды WP-CLI в целом

Если вы привыкли работать в терминале, для WP-CLI нет ничего особенного. Команды всегда начинаются с wp а затем команды и подкоманды, за которыми следуют обязательные и необязательные параметры, что-то вроде этого:

 Подкоманда команды wp requiredparam --optionalparam --optionalparam2 = значение 

чтобы увидеть, как это работает с реальной командой:

 wp theme install twentyseventeen --activate 

Это установит и активирует тему Twenty Seventeen в вашей установке WordPress.

Обратите внимание, что WP-CLI будет работать с Установка WordPress, которую вы сейчас используете в терминале. Если вы переключите каталоги, чтобы перейти к другой установке WordPress, она будет работать с этим.

Полезные примеры

Это был WP-CLI в двух словах! Хотя есть несколько продвинутых вещей, которые вы можете сделать, и мы скоро это узнаем, вы уже знаете достаточно, чтобы начать и делать все, что вам нужно. Я рекомендую взглянуть на список команд, попробуйте некоторые из них. Мы рассмотрим некоторые полезные материалы здесь, а затем перейдем к использованию WP-CLI через SSH и используем скрипты bash.

Установка WordPress

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

 wp core загрузить
wp core config --dbname = mydbname --dbuser = mydbuser --dbpass = mydbpass --dbhost = localhost --dbprefix = whebfubwef_ --extra-php << PHP
define ('WP_DEBUG', true);
define ('WP_DEBUG_LOG', true);
PHP
wp db create
wp core install --url = http: //siteurl.com --title = SiteTitle --admin_user = имя пользователя --admin_password = mypassword --admin_email=my@email.com

Обратите внимание, как это круто! Самая последняя версия WordPress загружается с использованием первой команды. Вторая команда устанавливает конфигурационный файл с доступом к базе данных и некоторым дополнительным PHP в конце. Дополнительные константы гарантируют, что у нас есть варианты отладки для тестирования.

Третья команда создает базу данных (WP-CLI использует информацию о доступе к базе данных из файла конфигурации), и, наконец, мы устанавливаем WordPress с использованием нескольких параметров. [19659042] Reinstall WordPress Core

Вы также можете переустановить ядро ​​WordPress с помощью WP-CLI. Следующая команда будет загружать ядро ​​WordPress без стандартных тем и плагинов.

 wp core загрузить --skip-content -force 

Изменить URL-адрес WordPress

Существует много причин, по которым вам может понадобиться или вы хотите изменить свой URL-адрес WordPress. Возможно, вы меняете домены, переходите в субдомен, обновляете с www до не-www, перемещаете файлы или даже переносите с HTTP на HTTPS. В любом случае, вы можете легко использовать команду обновления wp option для этого. Ниже приведен пример:

 wp option update home 'http://example.com'
Обновление опциона wp siteurl 'http://example.com' 

Список текущих плагинов с подробностями

Чтобы получить список текущих плагинов, установленных на сайте, просто используйте следующую команду. В этом примере вы видите, что у нас установлен плагин Schema и Yoast SEO.

 Список плагинов wp 
 Список плагинов WP-CLI

Список плагинов WP-CLI

Установка Несколько плагинов

Чтобы установить несколько плагинов, вы можете просто складывать параметры. Вот пример, который загружает и активирует 3 плагина:

 wp plugin install advanced-custom-fields jetpack ninja-forms --activate 

Обратите внимание, что имена плагинов исходят от их имени в репозитории . Самый простой способ понять это - посетить их страницу и посмотреть URL-адрес или использовать wp plugin search searchterm который предоставит вам список в терминале.

 URL-адрес репозитория плагина WordPress

URL-адрес репозитория плагина WordPress

Вы также можете установить более старые версии плагинов WordPress, если необходимо, с атрибутом - версия .

 wp plugin install wordpress-seo -version = 4.8 --activate [19659066] Даже более холодный, вы можете установить плагины из удаленных файлов, а не только репозиторий, который удобен, если вы разрабатываете плагин или используете премиальный плагин. Следующая команда устанавливает два плагина из репозитория и один из серверов Amazon S3. 
 wp plugin install advanced-custom-fields jetpack https://d1qas1txbec8n.cloudfront.net/wp-content/uploads/2015/06/23073607 /myplugin.zip --activate  

Деактивировать несколько плагинов

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

 wp plugin deactivate wordpress-seo 

Чтобы деактивировать все ваши плагины сразу выполните следующую команду.

 wp plugin deactivate --all 
 WP-CLI отключает все плагины

WP-CLI деактивирует все плагины

Эта вышеприведенная команда может быть полезна, если вы устраняете проблемы совместимости и просто необходимо отключить все плагины одним махом. Затем вы можете вернуться и включить их по одному, тестируя по мере поступления.

Обновление плагинов

Вы также можете вручную обновить плагины WordPress. Пример ниже:

 Обновление плагина wp wordpress-seo 
 wp-cli вручную обновляет плагин wordpress

WP-CLI вручную обновляет плагин WordPress

Поиск и замена базы данных

Одна из основных причин, для миграции сайта путем простое копирование базы данных состоит в том, что база данных содержит сериализованные массивы. Если вам нужно заменить все экземпляры http://testsite.com на http://livewebsite.com ваши сериализованные массивы не будут иметь смысла, потому что количество строк не будет соответствовать .

Команда search-replace сначала не выполняет инициализацию массивов, затем выполняет поиск и замену, а затем повторно сериализует массивы. Вы можете сделать это с помощью простой команды:

wp search-replace oldstring newstring

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

Импорт и экспорт

Существует два способа экспорта содержимого с помощью WP-CLI. Вы можете создать XML-файл, как это делает инструмент экспорта WordPress, или вы можете экспортировать / импортировать необработанную базу данных. wp db export - это все, что вам нужно сделать, чтобы создать файл SQL и wp db. wp db export - это все, что вам нужно сделать для создания файла SQL и wp db import file.sql - это все, что вам нужно импортировать. Работает как шарм, просто будьте осторожны, чтобы не перезаписывать все, что вам нужно, импорт будет в основном сбрасывать существующую базу данных и вместо этого использовать поставляемый файл SQL.

Управление ролями и возможностями

WP-CLI может управлять ролями для вас довольно легко используя команду wp role . Это довольно круто, если вы хотите проверить, как ваш плагин работает с настраиваемыми ролями, но вы фактически не создаете роли в своем плагине.

 wp role create organizer Organizer
wp cap list 'editor' | xargs wp cap добавить 'организатор'
wp cap add 'organizer' 'manage-events' 

Приведенные выше команды создадут новую роль (Organizer), добавят все возможности из роли редактора в нее, а затем добавят новую возможность: manage-events.

Generate Тестовые данные

Мне нравятся всевозможные поддельные функции - те, которые добавляют фиктивный контент на ваш сайт, который вы можете использовать для тестов. WP-CLI имеет пару таких встроенных функций, вот несколько функций, которые будут генерировать пользователей, термины и сообщения.

 wp user generate --count = 5 --role = editor
wp user generate --count = 10 --role = author
wp term generate --count = 12
wp post generate --count = 50  

Управление событиями WP-Cron

Вы можете управлять событиями WP-Cron и заданием WordPress Cron в WP-CLI. Например, следующая команда предоставит вам текущий список событий cron.

 Список событий wp cron 
 Список событий wp-cron

Список событий wp-cron

Удалить переходные процессы

Вы даже можете удалить и очистить один или все переходные процессы, используя следующую команду.

 wp transient delete --all  

Очистка wp_options Таблица

Таблица wp_options может быть обычным виновником медленных запросов на вашем сайте из-за к автозагруженным данным, оставленным позади сторонних плагинов и тем. Ознакомьтесь с этой замечательной статьей WP Bullet о том, как использовать WP-CLI для очистки таблицы wp_options.

Удалить версии WordPress

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

 $ wp post delete $ (wp post list --post_type = 'revision' --format = ids) 
 wp-cli delete wordpress revisions

WP-CLI удалить WordPress ревизии

Индексирование данных с помощью Elasticsearch

Elasticsearch - это полнотекстовая поисковая система с открытым исходным кодом. Он используется для индексации данных и поиска данных невероятно быстро. Мы предлагаем это как дополнение для клиентов Kinsta. Вы можете использовать команды ElasticPress WP-CLI для индексирования по SSH. Пример:

индекс упругости wp [--setup] [--network-wide] [--posts-per-page] [--nobulk] [--offset] [--show-bulk-errors] [--post-type]

Работа с многоязычными сайтами

WP-CLI v2. 0.0 включает новое семейство команд wp i18n для тех из вас, кто работает с многоязычными сайтами. Например, вы можете создать файл POT для плагина или темы WordPress.

 wp i18n make-pot  [] [--slug=] [--domain=] [--ignore-domain] [--merge[=]] [--exclude=] [--skip-js] 

См. Документацию по командам i18n.

Использование удаленного WP-CLI

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

Чтобы плавно запускать команды WP-CLI на удаленном сервере через SSH, вам ранее понадобилась команда wp-cli-ssh addon. Но с v0.24.0 это теперь входит в сам WP-CLI!  👏

Важно: Вам необходимо установить WP-CLI как на компьютере, на котором выполняется ваша команда, так и на вашем сервере.

Настройка удаленных серверов

Вы можете настройте серверы глобально или локально. Чтобы настроить их в глобальном масштабе, используйте файл config.yml . Вы также можете использовать файлы wp-cli.yml или wp-cli.local.yml в текущем рабочем каталоге.

Конфигурация серверов работает примерно так: вставьте это в одном из указанных файлов:

 ssh:

  постановка:
    cmd: ssh% pseudotty% username@server.com% cmd%
    URL: http://myseite.com
    path: / www / path / to / site / root 

Как только все это будет сделано, вы можете ввести следующую команду для обновления WordPress на удаленном сайте:

 wp ssh core update --host = staging 

Если вы владеете или управляете множеством сайтов, я думаю, вы можете видеть, что это потрясающе! Сценарий будет запрашивать пароль, но если вы используете ключи RSA для входа в систему, вы также можете отказаться от этого. Взгляните на эту статью, чтобы установить это. Kinsta

Использование скриптов Bash

Сценарии Bash экономят ваше время на автоматизацию задач. Помните, как нам нужно было вводить много команд для установки WordPress? Вы можете сделать это с помощью одного сценария bash. Внутри каталога создайте файл install.sh . Вставьте тот же код, что и раньше, и сохраните его.

 wp core загрузить
wp core config --dbname = mydbname --dbuser = mydbuser --dbpass = mydbpass --dbhost = localhost --dbprefix = whebfubwef_ --extra-php << PHP
define ('WP_DEBUG', true);
define ('WP_DEBUG_LOG', true);
PHP
wp db create
wp core install --url = http: //siteurl.com --title = SiteTitle --admin_user = имя пользователя --admin_password = mypassword --admin_email=my@email.com 

Все, что вам нужно сделать, это ввести bash install.sh и все будет сделано для вас, без вмешательства пользователя. Если вы управляете множеством сайтов, вы можете настроить все свои среды и создать сценарий bash следующим образом:

 wp ssh core update --host = clientA
Обновление основного обновления wp ssh --host = clientB
Обновление ядра wp ssh --host = clientC
Обновление wp ssh core --host = clientD 

Когда выйдет новая версия WordPress, это может сэкономить вам лот времени!

Резюме

WP-CLI действительно является мечтой разработчика и веб-сайта. Как разработчики, мы можем создавать тестовые сайты в jiffy, добавлять тестовое содержимое и делать всевозможные импортные / экспортные магии. Администраторы сайтов могут обрабатывать обновления сайта и другие задачи для нескольких сайтов с одиночными командами.

Если вы еще не пробовали WP-CLI, я настоятельно призываю вас пойти на это. Есть также группа команд сообщества, таких как WP-CLI-SSH, которые добавляют еще больше замечательных функций! Если вы столкнулись с проблемами, обязательно ознакомьтесь с документацией об общих проблемах WP-CLI.

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

Сообщение WP-CLI v2 - Управление WordPress из терминала появилось сначала на Kinsta Managed Хостинг WordPress.

  • Facebook
  • Twitter
  • Google+
  • Linkedin
  • Pinterest

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.