×

HOW TO SHOP

1 Login or create new account.
2 Review your order.
3 Payment & FREE shipment

If you still have problems, please let us know, by sending an email to support@website.com . Thank you!

SHOWROOM HOURS

Mon-Fri 9:00AM - 6:00AM
Sat - 9:00AM-5:00PM
Sundays by appointment only!
Вопросы? Email: info@nortsov.vn.ua
  • SUPPORT

NORTSOV IT BLOG

NORTSOV IT BLOG

Личный блог о разработке сайтов и моих интересах

+38 (068) 21 00 768
Email: info@nortsov.vn.ua

NORTSOV V.A.
21000, Винница, Украина

  • ГОЛОВНА
  • Портфоліо
  • Моє резюме
  • Про мене
  • Блог Айтішника
    • РОЗРОБКА ПЗ
      • AMP
      • CodeGear Delphi
      • CSS
      • JavaScript
      • Open Cart
      • WordPress
    • NETWORKING
      • CentOS
      • CISCO
      • DirectAdmin
      • NGiNX
      • DNS Servers
    • DESTINY 2
ЗАДАТЬВОПРОС
  • Home
  • Блог Айтішника
  • Розробка ПЗ
  • WordPress
  • WP-CLI v2 – Управление WordPress с терминала

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

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

by Владимир Норцов / Monday, 10 September 2018 / Published in WordPress, Розробка ПЗ

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

Что такое WP-CLI?

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

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

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

WP-CLI v2 был выпущен 8 августа 2018 года, поэтому мы также рассмотрим некоторые изменения и новые возможности.

Где и как скачать WP-CLI ?

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

Для начала вам потребуется установить 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 и получить полноценный ответ.

Процесс тот же, если вы хотите установить 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 command subcommand requiredparam --optionalparam --optionalparam2=value

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

wp theme install twentyseventeen --activate

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

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

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

Установка WordPress

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

wp core download
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=username --admin_password=mypassword --admin_email=my@email.com

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

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

Переустановка ядра WordPress

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

wp core download --skip-content --force

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

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

wp option update home 'http://example.com'
wp option update siteurl 'http://example.com'

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

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

wp plugin list
WP-CLI plugin list

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

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

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

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

WordPress plugin repository URL

Вы также можете установить более старые версии плагинов WordPress, если это необходимо, с помощью атрибута –version.

wp plugin install wordpress-seo --version=4.8 --activate

Даже можно делать еще круче, вы можете устанавливать плагины из удаленных файлов, а не только из репозитория. Что очень удобно, если вы разрабатываете плагин или используете премиальный плагин. Следующая команда устанавливает два плагина из репозитория и один из серверов 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 deactivate all plugins

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

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

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

wp plugin update wordpress-seo
WP-CLI manually update WordPress plugin

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

Одной из основных причин, по которым трудно переносить сайт просто скопировав базу данных, является то, что база данных содержит сериализованные массивы. Если вам нужно заменить все экземпляры 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 import file.sql – это все, что вам нужно для его импорта. Будьте осторожны, чтобы не перезаписывать все, что вам нужно, импорт будет в основном сбрасывать существующую базу данных и вместо этого использовать поставляемый SQL-файл.

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

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

wp role create organizer Organizer
wp cap list 'editor' | xargs wp cap add 'organizer'
wp cap add 'organizer' 'manage-events'

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

Создание тестовых данных

Мне нравятся всевозможные поддельные функции – те, которые добавляют фиктивный контент на ваш сайт, который вы можете использовать для тестов. 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 event list
wp-cron event list

Удалить временные опции (transients)

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

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

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

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

wp elasticpress index [--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 <source> [<destination>] [--slug=<slug>] [--domain=<domain>] [--ignore-domain] [--merge[=<file>]] [--exclude=<paths>] [--skip-js]

Использование WP-CLI с WooCommerce

Работаете с сайтами электронной коммерции? ? Прочитайте потрясающее руководство по разработке WP-CLI WooCommerce от Robot Ninja для быстрых и легких команд, которые вы можете использовать. WP-CLI позволяет создавать список клиентов, заказы и даже создавать пачки продуктов.

Использование 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:

  staging:
    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 для входа в систему, вы также можете отказаться от этого.

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

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

wp core download
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=username --admin_password=mypassword --admin_email=my@email.com

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

wp ssh core update --host=clientA
wp ssh core update --host=clientB
wp ssh core update --host=clientC
wp ssh core update --host=clientD

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

Заключение

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

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

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

Если вам понравилась эта статья, вам понравится хостинговая платформа Kinsta WordPress. Будь то ускорение вашего сайта или получение поддержки 24×7 от команды WordPress, чтобы помочь вашему бизнесу добиться успеха. Инфраструктура, основанная на Google Cloud, ориентирована на автоматическое масштабирование, производительность и безопасность.

0
  • Tweet

What you can read next

WordPress add page Excerpt
Шорткоды в виджетах боковой панели WordPress
WordPress 5.0
Что нового в WordPress 5.0 (как подготовиться к Gutenberg)
Wordpress Shema.org
Как добавить Rich Snippets для отзывов и рейтингов без плагина?

Поиск

Рубрики

  • NETWORKING
    • CentOS
    • DirectAdmin
    • NGiNX
  • Без категорії
  • Розробка ПЗ
    • JavaScript
    • Open Cart
    • WordPress

Новые статьи

  • Установка ImageMagick (Image Manipulation) на RHEL / CentOS и Fedora

  • Temporal API

    Temporal API в JavaScript. Работа с датой

  • Конфигурация клиента Proxy

  • Как выровнять блоки по высоте, jQuery скрипт

    Выровнять блоки по высоте, jQuery скрипт

  • NGiNX

    Включаем компрессию SVG gzip в nginx

Популярные статьи

  • Установка ImageMagick (Image Manipulation) на RHEL / CentOS и Fedora

  • Temporal API

    Temporal API в JavaScript. Работа с датой

  • Конфигурация клиента Proxy

  • Как выровнять блоки по высоте, jQuery скрипт

    Выровнять блоки по высоте, jQuery скрипт

  • NGiNX

    Включаем компрессию SVG gzip в nginx

КОНТАКТНАЯ ФОРМА

Отправьте ваше сообщение и я свяжусь с вами в ближайшее время !

ИНФОРМАЦИЯ

  • Блог Айтішника
  • Послуги
  • Портфоліо
  • Про мене
  • Моє резюме
  • Відгуки
  • Фото галлерея

КОНТАКТЫ

Тел.: (068) 21 00 768
Email: info@nortsov.vn.ua

NORTSOV IT BLOG

  • GET SOCIAL
NORTSOV IT BLOG

© 2017 NORTSOV - IT BLOG. All Rights Reserved.

TOP