WP-CLI это утилита для работы с сайтами на WordPress в командной строке. С помощью нее вы можете устанавливать темы и плагины, обновлять их, активировать, деактивировать, обновлять ядро WordPress, управлять комментариями и многое другое.
В разработке проекта WP-CLI приняли участие почти 100 разработчиков, многие из которых так же участвуют в разработке ядра WordPress. С утилитой приятно работать как при локальной разработке проектов на WordPress, так и при администрировании живых сайтов. Некоторые хостинг-компании начали включать пакет WP-CLI для клиентов shared и VPS хостинга.
Установка WP-CLI
Перед тем как приступить к установке пакета WP-CLI убедитесь в том, что он еще не установлен в вашем окружении. Это можно сделать при помощи wp
в командной строке операционной системы:
$ wp --version WP-CLI 0.14.1
Если система не выдала ошибку о не найденной команде, а показала версию пакета WP-CLI, то данный раздел можно пропустить.
Учтите, что для работы WP-CLI вам потребуется PHP версии 5.3.2 или выше. Если на вашей системе не установлен интерпретатор PHP, советуем обратиться к документации по установке PHP.
Установка WP-CLI на Linux и OS X
Если вы работаете с OS X, любым дистрибутивом Linux или FreeBSD, для установки WP-CLI вам достаточно скачать пакет wp-cli.phar. Сделать это можно с помощью утилиты curl
или wget
:
$ curl -L https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar > wp-cli.phar
Данная команда загрузит файл wp-cli.phar. Проверить совместимость системы с данным пакетом можно запустив его с параметром --info
:
$ php wp-cli.phar --info PHP binary: /usr/bin/php PHP version: 5.4.24 php.ini used: WP-CLI root dir: phar://wp-cli.phar WP-CLI global config: WP-CLI project config: WP-CLI version: 0.14.1
Если система совместима, то вы можете смело копировать файл wp-cli.phar в любую директорию, которая находится в системной переменной $PATH
. Это делается для того, чтобы WP-CLI можно было вызвать из любой директории. Сам файл wp-cli.phar необходимо так же пометить как исполняемый:
$ chmod +x wp-cli.phar $ sudo mv wp-cli.phar /usr/bin/wp
После этого вы сможете запустить wp --version
из любой директории.
Установка WP-CLI на Windows
Если вы используете операционную систему Windows для разработки, вам потребуется сперва установить Cygwin — коллекция Linux утилит для Windows. Так же следует убедиться в том что интерпретатор PHP доступен из командной строки. Для этого возможно вам будет необходимо внести соответствующие изменения в переменную PATH.
Скачайте файл wp-cli.phar (прямая ссылка) переименуйте его в wp.bat и разместите в любой директории, которая указана в системной переменной PATH, например та же директория где установлен интерпретатор php.exe.
После этого вы сможете вызывать wp
из командной строки в любой директории.
Основные команды WP-CLI
Перед тем как выполнять команды WP-CLI вы должны находиться в директории с установленной и сконфигурированной копией WordPress. Данные для подключения к базе данных MySQL WP-CLI берет именно из вашего файла wp-config.php.
Узнать текущую версию ядра WordPress:
$ wp core version --extra WordPress version: 3.9-RC1-src Database revision: 27916 TinyMCE version: 4.021 (4021-20140407)
Обновить ядро WordPress до последней версии:
$ wp core update Downloading update from https://wordpress.org/latest.zip... Unpacking the update... Success: WordPress updated successfully.
Получить список установленных плагинов:
$ wp plugin list +--------------------------+----------------+-----------+---------+ | name | status | update | version | +--------------------------+----------------+-----------+---------+ | bbpress | active | none | 2.5.3 | | core-control | inactive | none | 1.1 | | debug-bar | active-network | none | 0.8.1 | | debug-bar-console | active-network | none | 0.3 | +--------------------------+----------------+-----------+---------+
Установить плагин из директории WordPress.org:
$ wp plugin install tinymce-advanced Installing TinyMCE Advanced (3.5.9.1) Downloading install package from https://downloads.wordpress.org/plugin/tinymce-advanced.3.5.9.1.zip... Unpacking the package... Installing the plugin... Plugin installed successfully.
Активировать или деактивировать плагин:
$ wp plugin activate tinymce-advanced Success: Plugin 'tinymce-advanced' activated. $ wp plugin deactivate bbpress Success: Plugin 'bbpress' deactivated.
Обновить плагин:
$ wp plugin update bbpress Success: Updated 1/1 plugins.
Активировать тему:
$ wp theme activate twentytwelve Success: Switched to 'Twenty Twelve' theme.
Пометить комментарий как спам или удалить его:
$ wp comment spam 26 Success: Marked as spam comment 26. $ wp comment delete 6 Success: Deleted comment 6.
Открыть запись в текстовом редакторе:
$ wp post edit 3821
Загрузить изображение в медиатеку и прикрепить его к записи:
$ wp media import image.png --post_id=7956 Success: Imported file image.png as attachment ID 8671 and attached to post 7956.
Получить или изменить опцию из таблицы wp_options
:
$ wp option get blogdescription Yet Another WordPress Site $ wp option update blogname "Company Name" Success: Updated 'blogname' option.
Дополнительные возможности WP-CLI
Ниже представлены некоторые дополнительные команды утилиты WP-CLI, которыми вы наверняка когда-нибудь воспользуетесь, если занимаетесь разработкой тем или плагинов для WordPress.
Выполнить запрос в базу данных WordPress:
$ wp db query "SELECT COUNT(*) FROM wp_posts;" +----------+ | COUNT(*) | +----------+ | 1449 | +----------+
Полный экспорт и импорт базы данных 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
Одна из самых мощных возможностей утилиты WP-CLI это интерактивная консоль WordPress. Если вы когда-либо работали с языком программирования Python, то вам известно, что интерактивная консоль — незаменимая вещь при отладке кода.
$ wp shell wp> $p = get_post( 32065 ); wp> $p->post_title; string(45) "WordPress в командной строке с помощью WP-CLI"
В интерактивной консоли доступны все функции и классы окружения WordPress, но учтите что при возникновении фатальной ошибки интерактивная консоль вам о ней не сообщит. Вам нужно будет вручную просмотреть журнал ошибок PHP.
Заключение
WP-CLI является мощным инструментом, который мы рекомендуем всем разработчикам проектов на WordPress. В WP-CLI есть масса других возможностей, о которых мы не упомянули в этой статье. Для получения полного списка доступных команд, выполните wp --help
или посетите официальный сайт проекта.
Стоит так же отметить, что плагины WordPress могут регистрировать свои собственные дополнительные команды для WP-CLI. Этой возможностью уже воспользовались некоторые популярные плагины, например Jetpack.