Статьи

Вводное руководство по управлению WordPress с помощью WP-CLI

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

WP-CLI был создан Дэниелом Бачхубером более десяти лет назад. С тех пор он стал незаменимым инструментом в арсенале каждого продвинутого разработчика WordPress — «развернут и используется почти всеми основными пользователями WordPress», по словам Мэтта Малленвега . С 2016 года WP-CLI является официальным инструментом WordPress CLI .

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

WP-CLI поставляется в виде phar Это стандарт для упаковки нескольких файлов PHP и других ресурсов в одно приложение — для упрощения распространения и установки.

Установка

WP-CLI предполагает, очевидно, что у нас есть доступ к системной оболочке. Это будет довольно просто в системах Linux и macOS — особенно на серверах — поскольку WordPress обслуживается почти повсеместно с компьютеров Linux. Если у нас есть выделенный сервер или облачный хостинг, такой как AWS, Alibaba Cloud и т. Д., Или если мы используем VPS от Digital Ocean, Vultr, Linode и т. П., SSH предоставляется в качестве опции доступа по умолчанию, но в наши дни многие общие хосты предлагают опции доступа SSH. (Некоторые могут даже поставляться с предустановленным WP-CLI.)

Для пользователей Windows WP-CLI может быть установлен через Composer , но мы рекомендуем читателям ознакомиться с подсистемой Windows для Linux , поскольку она позволяет иметь доступную собственную среду Linux вместе с Bash, менеджером пакетов, таким как APT и т. Д. WordPress — это приложение PHP, а родной средой PHP является Linux.

Дальнейшие примеры кода предполагают, что мы используем Linux или систему типа Unix.

Для загрузки архива WP-CLI мы используем usecurlwget

 curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar  

Это загрузит наш архив в текущий каталог. Затем мы делаем его исполняемым:

 chmod +x wp-cli.phar

Мы переместим его так, чтобы он был доступен как команда wp

 sudo mv wp-cli.phar /usr/local/bin/wp

Теперь у нас есть команда wp

Теперь, после ввода команды wp Одно предостережение: если мы работаем как пользователь root, нам нужно добавить --allow-root

Добавление --allow-root для запуска от имени пользователя root

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

Команды WP-CLI

WP-CLI стремится предложить быструю альтернативу интерфейсу веб-администратора WordPress. Есть куски кода или функциональности, которые предлагают простые, точные интерфейсы для выполнения сложных задач . Помимо связанных команд WP-CLI определяет API для интеграции сторонних команд — WP_CLI :: add_command () . Они могут распространяться как в виде отдельных пакетов, так и в составе плагинов или тем WordPress.

В этом руководстве мы рассмотрим связанные команды — те, которые идут с установкой WP-CLI по умолчанию — и некоторые более известные сторонние команды.

Команды могут представлять собой базовые команды с одним аргументом, такие как wp somecommandwp somecommand subcommand

ядро wp

wp core

  • wp core download
  • wp core install--url=somewebsite.com--title=SomeWebsite--admin_user=someusername--admin_password=somepassword[email protected]
  • wp core multisite-installwp core multisite-convert
  • wp core updatewp core update-db

Более подробную информацию о ядре wp можно найти в документации .

WP-CLI действительно великолепен, когда мы объединяем его команды в скриптах Bash, поэтому мы можем объединить, например, wp core downloadwp core install

Стоит отметить, что перед запуском установки нам необходимо создать файл wp-config.php

Для этого WP-CLI предоставляет команду wp config create

конфиг wp

wp config

  • wp config list

    Переменные конфигурации

  • wp config createwp config create --dbname=somedb --dbuser=someuser --dbpass=somepassв документации

  • wp config getwp config get table_prefix

  • wp config set

Более подробную информацию о wp configздесь .

wp cap интересен для администрирования пользовательских ролей и возможностей. Мы можем добавлять и удалять возможности из определенных ролей.

wp cron — это пространство имен команд для тестирования, запуска и удаления событий WP-Cron. Например, wp cron event list

выход wp cron

Затем мы можем удалить события с чем-то вроде wp cron event delete wsal_cleanup

Иногда, в процессе обновления контента, разработки, внесения изменений мы обнаружим, что обновление страницы WordPress не будет отображать сделанные нами изменения. Много раз это приводило к безумному поиску, пытаясь найти то, что мы сделали неправильно.

Часто это проблема с кешем. WordPress Object Cache по умолчанию не является постоянным, поэтому необходимость очистки объектного кэша будет усугубляться с помощью плагинов, которые сохраняют объектный кэш в запросах (и это обычно имеет место).

wp cache — это пространство имен, которое содержит команды для обработки WP Object Cache.

wp cache flush Это простая задача — простая, часто используемая команда, которая не требует никаких других параметров и очищает все из кэша.

wp cache

wp cache addwp cache deletewp cache getwp cache setwp cache replace

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

Пространство имен переходного процесса wp содержит команды для удаления, получения или установки переходных процессов.

Еще один элемент в системе кэширования WordPress, который иногда требует сброса и, вероятно, вызывал у новичков часы и часы путаницы, — это постоянные ссылки WordPress.

wp rewrite — в частности, wp rewrite flush Мы также можем перечислить правила переписывания.

wp db содержит команды для управления базой данных WordPress. Выводы, ремонт, оптимизация, поиск, различные запросы. Мы также можем экспортировать или импортировать базу данных.

wp eval и wp eval-file могут быть использованы для выполнения некоторого кода в контексте нашей установки WordPress.

wp export и wp import, экспорт и импорт контента в формате WXR.

Параметр wp содержит команды для управления, получения и настройки параметров WordPress.

wp scaffold содержит команды, которые создают шаблон или стартовый код для плагинов, тем, дочерних тем, блоков Гутенберга, типов записей, таксономий — таким образом сокращая путь для их запуска.

wp search-replace выполняет поиск-замену в базе данных со строками, которые мы предоставляем в качестве аргументов. Это очень удобно, когда мы переносим базу данных с одного веб-сайта на другой, и нам необходимо изменить URL-адреса. Например, когда мы создаем промежуточный сайт или перемещаем базу данных с промежуточного на рабочий сайт.

WordPress сериализует строки содержимого в базе данных, поэтому выполнение необработанного поиска и замены в базе данных в каком-либо редакторе не будет работать; это фактически сломало бы веб-сайт.

Оболочка wp особенно интересна, так как она позволяет нам войти в репозиторий WordPress — живую среду оболочки нашей установки WordPress. Там у нас есть полный доступ ко всему, что может иметь какой-то активный плагин. Мы можем писать код, загружать код из файлов, выполнять функции, наблюдать или проверять вывод из функций. Это позволяет очень легко тестировать новый код без циклов обновления браузера.

Пользователь wp предназначен для управления, обновления, удаления и изменения ролей пользователей.

Это некоторые из встроенных команд по умолчанию. Подробная документация по всем командам доступна в документации разработчика WordPress .

Плагин wp позволяет составлять список, устанавливать, активировать, деактивировать и удалять плагины, а также писать сценарии, которые автоматизируют установку нескольких плагинов оптом. wp plugin list

Пример вывода списка плагинов wp

WP тема делает то же самое, только для тем.

Пакет wp — это пространство имен команд для управления пакетами WP-CLI. С помощью wp package install somepackagenameиндекс пакета WP-CLI . Некоторые заслуживающие внимания пакеты / команды: wp usergen cli , который создает случайных пользователей для тестирования; контрольная точка БД , которая создает снимки БД; WP-CLI buddypress , который содержит ряд команд, связанных с BuddyPress; Размер WP-CLI , который показывает размеры базы данных и таблицы; wp hook , который показывает функции обратного вызова, зарегистрированные для определенного фильтра или ловушки действий; запрос отладки , который отлаживает выполнение запросов; и фейкер , который помогает нам создавать сообщения-наполнители для целей разработки.

Сообщество поддерживает множество других пакетов / команд. Полный список можно найти здесь .

Вывод

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