В мультисайте WP-CLI работает не «на сайт», а через контекст сети. Поэтому перед массовыми действиями всегда проверяйте, где вы находитесь: корень сети, конкретный сайт или весь набор. Одна и та же команда может дать разный результат, если забыть про --url.
Главные подводные камни:
— wp plugin update без нужного контекста обновит то, что доступно сети, но не обязательно то, что активно на каждом сайте
— wp option get смотрите через --url, иначе легко прочитать не тот набор настроек
— wp search-replace в сети лучше запускать сначала с --dry-run: в таблицах разных сайтов прячутся разные префиксы
— массовые изменения ролей, пользователей и терм таксономий проверяйте на одном сайте, а потом уже повторяйте по сети
Отдельно следите за таблицами. В мультисайте у каждого сайта свой набор таблиц, а у сети есть общие данные. Если делать замену или импорт «в лоб», можно задеть wp_blogs, wp_site и сломать связь между сайтами. Для таких задач безопаснее сначала ограничить команду конкретным URL.
Еще одна частая ошибка — работать под пользователем без прав на весь набор файлов и базы. WP-CLI может выполнить команду, но упрется в кеши, загрузку медиа или недоступные директории. Для автоматизации держите под рукой проверку: кто запускает команду, какой сайт выбран, что именно меняется.
Правило простое: в мультисайте сначала уточняйте контекст, потом запускайте массовую команду, и только после этого убирайте dry-run.
WP-CLI и командная строка
@wp_cli_tricks_ww
WP-CLI в мультисайте: 4 ошибки, которые ломают сеть быстрее команды update
Этот пост опубликован в Telegram-канале WP-CLI и командная строка. Подписаться можно по ссылке: @wp_cli_tricks_ww.