Установка плагинов WordPress через Composer и wpackagist

Если ядро WordPress уже стоит через Composer, логично так же ставить плагины: версии в composer.json / composer.lock, одинаковое окружение на всех серверах, обновления без ручного zip из репозитория. Ниже wpackagist, require/remove, активация через WP-CLI.

Как это устроено

WordPress Packagist отдаёт плагины и темы официального каталога как Composer-пакеты с префиксами wpackagist-plugin/ и wpackagist-theme/. Установщик кладёт их в wp-content/plugins (или themes) по правилам installer-paths в проекте.

Репозиторий wpackagist

В composer.json добавьте (или дополните) блок repositories:

"repositories": [
    {
        "type": "composer",
        "url": "https://wpackagist.org"
    }
]

У пакета johnpbloch/wordpress и готовых скелетов это часто уже есть. Проверьте перед дублированием.

Установка плагина

Имя пакета это slug из wordpress.org. Пример с Contact Form 7:

composer require wpackagist-plugin/contact-form-7

Пакет появится в зависимостях, файлы в каталоге плагинов. Версию можно зафиксировать: composer require wpackagist-plugin/contact-form-7:^5.9.

Активация

Composer только кладёт файлы. Включить плагин в админке или через WP-CLI:

wp plugin activate contact-form-7

В CI/CD после composer install обычно идёт скрипт с wp plugin activate для нужного списка.

Обновление

composer update
# или точечно:
composer update wpackagist-plugin/contact-form-7

Обновятся пакеты в рамках constraints из composer.json. Коммитьте composer.lock, чтобы prod не «уплывал» от dev. После обновления проверьте сайт и при необходимости прогоните wp plugin list.

Удаление

wp plugin deactivate contact-form-7
composer remove wpackagist-plugin/contact-form-7

Сначала деактивация (и при необходимости очистка опций плагина), потом remove. Так меньше сюрпризов в админке.

Практические замечания

  • Версии. Явные constraints лучше «звёздочки»: меньше неожиданных major-обновлений.
  • Премиум-плагины. Не всё есть на wpackagist; для платных пакетов private Satis/VCS или ручная поставка в репозиторий.
  • Админка vs Composer. Если обновлять плагины только из UI, lock-файл разъедется с реальностью. Выберите один канал поставки.
  • Безопасность. Регулярно обновляйте плагины: дыры чаще всего именно в них, не в ядре.

Итог: wpackagist + composer require + WP-CLI для activate/deactivate рабочая схема для воспроизводимого WordPress-стека. Вместе с установкой ядра через Composer это закрывает базовый lifecycle зависимостей.

Источники и ссылки


Комментарии загружаются…