WP-CLI – это официальный инструмент командной строки для управления сайтами WordPress. Для многих видов деятельности он является более удобной и быстрой альтернативой панели управления WordPress.
Доступ к утилите командной строки WP-CLI осуществляется через терминал путем установления SSH-соединения с вашим виртуальным сервером. Подробнее вы можете прочитать здесь: Подключение через протокол SSH.
Здесь мы рассмотрим некоторые полезные команды WP-CLI.
Все команды с пояснениями и примерами можно увидеть как на веб-сайте WP-CLI, так и в командной строке.
Чтобы увидеть все команды, введите:
> wp
или
> wp help
Команды WP-CLI сгруппированы в категории по видам деятельности.
Каждая так называемая основная категория имеет свои подкоманды и опции.
Чтобы просмотреть основные команды, введите:
> wp core
Чтобы просмотреть объяснение команды с примерами, введите:
> wp help core update
Конфигурация WordPress
Посмотреть версию WordPress:
> wp core version
Просмотрите конфигурацию:
> wp config list
Поиск только данные базы данных:
> wp config list DB_
Просмотр одного конкретного параметра конфигурации:
> wp config get DB_NAME
Изменение настроек конфигурации:
> wp config set DB_NAME db_name
Просмотр состояния, активация и деактивация режима технического обслуживания:
> wp maintenance-mode status > wp maintenance-mode activate > wp maintenance-mode deactivate
Установка и обновление WordPress
Загрузите файлы WordPress, указав версию и отбросив тему и плагины по умолчанию:
> wp core download --version=5.5.3 --skip-content
Установите WordPress за 5 секунд (предварительно необходимо добавить данные о базе данных в файл wp-config.php):
> wp core install --url=domain.tld --title='Uus sait' --admin_user=nimi --admin_email=nimi@domain.tld
Обновите WordPress до нужной вам версии, а затем обновите базу данных:
> wp core update --version=5.5.1 > wp core update-db
Пользователи WordPress, темы и плагины
Список всех пользователей WordPress, каждый из которых имеет свой уникальный ID:
> wp user list
Добавление пользователя с правами администратора WordPress:
> wp user create username name@domain.tld --role=administrator
Удалить пользователя (ID учетной записи = 123).
N.B. Если вы удалите пользователя, чьи сообщения не были переназначены другому пользователю с помощью опции --reassign
, его сообщения также будут удалены.
> wp user delete 123 > wp user delete 123 --reassign=1234
Измените пароль пользователя. Рекомендуется импортировать пароль из файла, как показано в команде 2, чтобы он не оставался в файле истории командной строки (ID пользователя = 123):
> wp user update 123 --user_pass=new-and-long-password > wp user update 123 --prompt=user_pass < user_password.txt
Список всех плагинов, статус, номер версии и наличие обновлений:
> wp plugin list
Обновление плагинов (обновление определенного плагина и обновление всех плагинов):
> wp plugin update hello > wp plugin update --all
Деактивация определенного плагина может быть временным решением для восстановления сайта, если WordPress стал недоступен (отображается сообщение об ошибке PHP) после обновления WordPress или плагина. Это также может быть решением, если вы больше не можете получить доступ к странице администрирования WordPress, а на ней отображается название плагина.
Деактивация плагина:
> wp plugin deactivate plugin-name
Список всех тем, статус, номер версии и наличие обновления:
> wp theme list
Обновление тем:
> wp theme update twentytwenty
Действия, связанные с базой данных WordPress
Сохранение базы данных в файл. Быстрый и удобный способ резервного копирования базы данных (рекомендуется создавать резервные копии базы данных перед внесением в нее серьезных изменений):
> wp db export
Импорт базы данных из файла:
> wp db import dbname-2020-01-01-abcd1234.sql
Поиск в базе данных по определенному тексту:
> wp db search 'find this text'
Замена данных в базе данных.
Если вам нужно увидеть, что и в каких таблицах изменит замена, прежде чем вносить изменения, добавьте к команде опцию: --dry-run
Если текст для поиска или замены содержит пробелы или специальные символы, то его необходимо заключить в кавычки:
> wp search-replace --report-changed-only --dry-run --skip-columns=guid 'search this' 'replace with this'
Откройте командную строку mysql (информация для подключения к базе данных берется из файла wp-config.php):
> wp db cli
Изменение URL-адреса WordPress
Вам может понадобиться изменить URL WordPress при переносе WordPress с одного сервера на другой, с поддомена на основной домен или наоборот.
URL-адрес сайта WordPress задается в таблице базы данных options с полями home
и siteurl
.
Кроме того, доменное имя обычно содержится в других таблицах и файлах базы данных.
Посмотрите URL текущего сайта WordPress:
> wp option get home > wp option get siteurl
Изменение URL-адреса сайта WordPress:
> wp option update home https://domain.tld
изменить siteurl
– URL-адрес директории, в которую установлен WordPress.
siteurl
– это тот же home
URL, если WordPress установлен в корневой директории домена.
Если WordPress установлен в подкаталоге, например, “blog”, то значение siteurl
будет https://domain.tld/blog.
> wp option update siteurl https://domain.tld
Замена старого URL во всей базе данных (кроме таблицы posts
в столбце guid
).
Прежде чем вносить изменения, рекомендуется проверить, в каких таблицах будет произведено изменение. Как только вы получите представление о таблицах, снимите флажок --dry-run
, чтобы внести изменения:
> wp search-replace --report-changed-only --dry-run --skip-columns=guid https://old.tld https://new.tld
Если старый домен необходимо заменить на новый и в файлах, и нужно внести много изменений, то замену можно выполнить из командной строки.
Перед заменой старого доменного имени необходимо узнать, можно ли это сделать для всех файлов или только для определенных каталогов и типов файлов.
Чаще всего нет необходимости производить замену в буферных и лог файлах. Файлы буфера могут быть удалены как вручную, так и через админ-панель WordPress.
Соответственно, вы должны подготовить команду замены.
Найдите старый домен всех файлов и выведите имена этих файлов (при необходимости опустите https:// перед именем домена):
> grep -irl 'https://old.tld' ./
Поиск в старом домене файлов с определенными расширениями (используйте опцию --include
, чтобы настроить список расширений файлов в соответствии с вашими потребностями):
> grep -irl --include \*.php --include \*.html --include \*.css 'https://old.tld' ./
Замените старый домен на новый в файлах с определенным расширением (в данном примере – в файлах PHP):
> find ./ -name '*.php' -exec sed -i 's~https://old.tld~https://new.tld~g' {} \;
Контрольные суммы файлов WordPress
Иногда необходимо проверить, не были ли изменены файлы WordPress. Это часто является признаком взломанного WordPress. Это можно сделать с помощью следующих двух команд:
Проверить файлы ядра WordPress:
> wp core verify-checksums
Проверьте файлы плагинов WordPress:
> wp plugin verify-checksums --all