WordPress, обслуживающий более 60,8% веб-сайтов, несомненно, является одной из самых популярных и мощных систем управления контентом (CMS). Будь то личные блоги или корпоративные сайты, WordPress очень интуитивно понятен и прост в использовании как при разработке, так и при проектировании и обслуживании.
Однако большинство пользователей WordPress знакомы только с его графическим рабочим процессом; очень немногие исследовали его конечную сторону.
Эта статья познакомит вас с WP-CLI, инструментом командной строки для управления сайтами WordPress.
Давайте погрузимся в мир WP-CLI:
Установить WP-CLI относительно просто. Инструмент представляет собой PHP-архив, который вы можете скачать и запустить.
Начните с загрузки архива с помощью wget или cURL как:
wget https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
Для пользователей cURL используйте команду:
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
После загрузки сделайте файл исполняемым и переместите архив в PATH в вашей системе, например /usr/local/bin, как:
chmod +x wp-cli.phar sudo mv wp-cli.phar /usr/local/bin/wp
Чтобы убедиться, что вы успешно установили его и он работает, используйте команду:
wp --info
Это должно дать вам результат, аналогичный показанному ниже, что означает, что вы успешно установили инструмент.
OS: Linux 4.4.0-19041-??? Mon Sep 01 13:43:00 PST 2021 x86_64 Shell: /bin/bash PHP binary: /usr/bin/php7.3 PHP version: 7.3.19-1~deb10u1 php.ini used: /etc/php/7.3/cli/php.ini 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: /home/root WP-CLI packages dir: WP-CLI global config: WP-CLI project config: WP-CLI version: 2.4.0
WP-CLI — это терминал или командная строка, альтернативная панели инструментов wp-admin. Следовательно, существует команда WP-CLI для всех задач, которые вы можете выполнять с помощью веб-интерфейса администратора WordPress.
Давайте узнаем, как ими пользоваться, но перед этим:
Инструмент WP-CLI позволяет вам включить функцию завершения Bash для просмотра и автозаполнения команд с помощью клавиши TAB. Давайте включим его, чтобы облегчить наши задачи.
Начнем с загрузки сценария Bash с помощью команды:
wget https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash
Чтобы загружать сценарий завершения Bash в каждый сеанс терминала, давайте отредактируем наш файл конфигурации профиля bash. Введите следующую запись в файл .bashrc.
source $HOME/wp-completion.bash
Затем перезагрузите профиль bash, чтобы загрузить все изменения:
source .bashrc
После завершения у вас должно быть включено завершение Bash. Если вы используете другую оболочку, например ZSH, обратитесь к официальной документации, чтобы узнать, как включить завершение.
Чтобы проверить, работает ли он, введите команду wp + TAB. Это должно дать вам все доступные команды:
cache core eval-file language option rewrite shell term cap cron export maintenance-mode package role sidebar theme cli db help media plugin scaffold site transient comment embed i18n menu post search-replace super-admin user config eval import network post-type server taxonomy widget
Прежде чем мы перейдем к админке WordPress, нам нужно сначала установить WordPress. Давайте обсудим, как установить его с помощью WP-CLI.
Сначала войдите в оболочку MySQL и создайте базу данных
sudo mysql -u root -p Enter Password:
Далее нам нужно создать базу данных:
CREATE DATABASE wp;
Затем нам нужно создать пользователя и предоставить ему все права:
CREATE USER "wpadmin" IDENTIFIED BY "password"; GRANT ALL PRIVILEGES ON wp.* TO wpadmin; FLUSH PRIVILEGES;
Следующим шагом будет загрузка установочного файла WordPress. Для этого мы собираемся использовать каталог /var/www/html.
Измените на /var/www/html
cd /var/www/html/
Чтобы убедиться, что у нас есть разрешение на чтение/запись для этого каталога, выберите пользователя www-data, созданного apache, как:
sudo chown -R www-data . sudo chown www-data:www-data .
Затем загрузите WordPress с помощью WP-CLI. Вам нужно будет вызвать команду wp как www-data, поскольку пользователь должен разрешить запись в каталог /var/www/html. Избегайте использования root.
sudo -u www-data wp core download
Это загрузит WordPress и распакует его в текущий каталог. Игнорируйте ошибку, показанную ниже:
Downloading WordPress 5.6.1 (en_US)... Warning: Failed to create directory '/var/www/.wp-cli/cache/': mkdir(): Permission denied. md5 hash verified: e9377242a433acbb2df963966f98c31d Success: WordPress downloaded.
Убедитесь, что у вас установлен WordPress, перечислив содержимое каталога /var/www/html:
$:/var/www/html$ ls -l total 240 -rw-r--r-- 1 www-data www-data 405 Feb 5 22:22 index.php -rw-r--r-- 1 www-data www-data 19915 Feb 5 22:22 license.txt -rw-r--r-- 1 www-data www-data 7278 Feb 5 22:22 readme.html -rw-r--r-- 1 www-data www-data 7101 Feb 5 22:22 wp-activate.php drwxr-xr-x 1 www-data www-data 4096 Feb 5 22:23 wp-admin -rw-r--r-- 1 www-data www-data 351 Feb 5 22:23 wp-blog-header.php -rw-r--r-- 1 www-data www-data 2328 Feb 5 22:23 wp-comments-post.php -rw-r--r-- 1 www-data www-data 2913 Feb 5 22:23 wp-config-sample.php drwxr-xr-x 1 www-data www-data 4096 Feb 5 22:23 wp-content -rw-r--r-- 1 www-data www-data 3939 Feb 5 22:23 wp-cron.php drwxr-xr-x 1 www-data www-data 4096 Feb 5 22:24 wp-includes
Затем нам нужно сгенерировать файл конфигурации WordPress и добавить соответствующую информацию. Используйте команду ниже и замените значения соответствующим образом.
$:/var/www/html$ sudo -u www-data wp core config --dbname="wp" --dbuser="wpadmin" --dbpass="password" --dbhost="localhost" Success: Generated ‘wp-config.php’ file.
После того, как у нас есть все необходимые настройки конфигурации, мы можем, наконец, запустить установщик, настроив пользователя WordPress как:
sudo -u www-data wp core install --url="http://127.0.0.1" --admin_user="admin" --admin_password="password" --admin_email="admin@example.com" --title="WP-CLI Tutorial"
После этого у вас в системе установлен WordPress. Вы можете протестировать сайт, перейдя по адресу http: // localhost, который должен отображать WordPress по умолчанию.
Теперь у вас есть весь сайт WordPress, которым вы управляете с помощью WP-CLI. Как насчет того, чтобы мы попытались выполнить базовые задачи, такие как установка плагина.
Пока мы все еще в каталоге установки сайта WordPress (/var/www/html), давайте найдем плагин для установки. Давайте использовать в качестве примера Elementor Page Builder:
wp plugin search elementor
Выполнение этой команды должно дать вам все возможные плагины в табличной форме.
Круто, правда? Теперь давайте посмотрим, как мы можем установить плагин, когда найдем подходящее имя.
Чтобы установить его, используйте ярлык плагина как:
sudo -u www-data wp plugin install elementor Installing Elementor Website Builder (3.1.1) Warning: Failed to create directory '/var/www/.wp-cli/cache/': mkdir(): Permission denied. Downloading installation package from https://downloads.wordpress.org/plugin/elementor.3.1.1.zip... Unpacking the package... Installing the plugin... Plugin installed successfully. Success: Installed 1 of 1 plugins.
После того, как мы успешно установили нужный нам плагин, мы можем просто активировать его, используя аналогичную команду:
sudo -u www-data wp plugin activate elementor Plugin ‘elementor’ activated. Success: Activated 1 of 1 plugins.
Если вы можете установить плагин с WP-CLI, вы можете удалить его.
sudo -u www-data wp plugin deactivate elementor Plugin ‘elementor’ deactivated. Success: Deactivated 1 of 1 plugins.
После деактивации вы можете легко удалить его как:
sudo -u www-data wp plugin uninstall elementor Uninstalled and deleted ‘elementor’ plugin. Success: Uninstalled 1 of 1 plugins.
Темы — обычная функция WordPress. Обсудим, как ими управлять из командной строки.
Для поиска темы используйте команду:
wp theme search astra Success: Showing 2 of 2 themes. +--------+--------+--------+ | name | slug | rating | +--------+--------+--------+ | Astra | astra | 100 | | Astral | astral | 100 | +--------+--------+--------+
Когда у вас есть тема, которую вы хотите установить, используйте команду, как показано ниже:
sudo -u www-data wp theme install astra Installing Astra (3.0.2) Warning: Failed to create directory '/var/www/.wp-cli/cache/': mkdir(): Permission denied. Downloading installation package from https://downloads.wordpress.org/theme/astra.3.0.2.zip... Unpacking the package... Installing the theme... Theme installed successfully. Success: Installed 1 of 1 themes.
После установки темы вы можете активировать ее с помощью команды:
sudo -u www-data wp theme activate astra Success: Switched to ‘Astra’ theme.
Чтобы установить его из zip-файла, используйте команду, показанную ниже:
sudo -u www-data wp theme install oceanwp.2.0.2.zip Unpacking the package... Installing the theme... Theme installed successfully. Success: Installed 1 of 1 themes.
Чтобы удалить тему с помощью интерфейса командной строки, сначала активируйте другую тему, а затем удалите ту, которую хотите удалить, с помощью команды:
sudo -u www-data wp theme activate oceanwp && sudo -u www-data wp theme uninstall astra Success: Switched to ‘OceanWP’ theme. Deleted ‘astra’ theme. Success: Deleted 1 of 1 themes.
Чтобы перечислить все темы и плагины в экземпляре WordPress, используйте команды, показанные ниже:
wp theme list wp plugin list
Эта команда должна отображать доступные темы и плагины соответственно, как показано ниже:
+-----------------+----------+--------+---------+ | name | status | update | version | +-----------------+----------+--------+---------+ | oceanwp | active | none | 2.0.2 | | twentynineteen | inactive | none | 1.9 | | twentytwenty | inactive | none | 1.6 | | twentytwentyone | inactive | none | 1.1 | +-----------------+----------+--------+---------++---------+----------+--------+---------+ | name | status | update | version | +---------+----------+--------+---------+ | akismet | inactive | none | 4.1.8 | | hello | inactive | none | 1.7.2 | +---------+----------+--------+---------+
Вы также можете обновлять плагины и темы с помощью интерфейса командной строки. Например, чтобы обновить все темы, используйте команду;
sudo -u www-data wp theme update --all Success: Theme already updated.
Когда команда WordPress выпускает новую версию, вы можете выполнить обновление из командной строки с помощью нескольких отдельных команд:
Первый шаг — сначала обновить файлы сайта как:
sudo -u www-data wp core update
Далее нам нужно обновить базу данных как:
sudo -u www-data wp core update-db Success: WordPress database already at latest db version 49752.
Чтобы создать пост с помощью WP-CLI, используйте команду ниже:
sudo -u www-data wp post create --post_type=page --post_title="WP-CLI Tutorial" --post_date="2021-02-04" Success: Created post 5.
Чтобы удалить пост, укажите его числовой идентификатор как:
sudo -u www-data wp post delete 5 Success: Trashed post 5.
В этой статье показано, как использовать мощный WP-CLI для управления сайтом WordPress из командной строки.