WordPress Packagist — что такое и зачем нужен

WordPress Packagist является зеркальным отражением каталогов плагинов и тем WordPress в качестве репозитория Composer.

Главная страница WordPress Packagist
Главная страница WordPress Packagist

Ядро WordPress

Смотрите fancyguy/webroot-installer или johnpbloch/wordpress для установки самого WordPress с помощью Composer.

Внести свой вклад или получите поддержку: посетите страницу Packagist на GitHub.

Используем Composer

Зачем нам использовать Composer?

«Composer — это инструмент для управления зависимостями в PHP. Он позволяет вам объявить зависимые библиотеки, необходимые вашему проекту, и он установит их в ваш проект за вас.»

— getcomposer.org
  • Избегание фиксации плагинов и тем в системе контроля исходного кода.
  • Избегание необходимости использовать подмодули git.
  • Управление библиотеками проектов WordPress и не-WordPress с помощью одних и тех же инструментов.
  • В перспективе может использоваться для управления зависимостями между плагинами.

Работа Репозитория WordPress Packagist

Как работает репозиторий?

  1. Каждый час сканирует репозиторий WordPress Subversion на наличие плагинов и тем. Выполните поиск и нажмите , чтобы сделать доступными все новые версии.
  2. Находит tags для каждого обновленного пакета и сопоставляет их с версиями.
  3. Для плагинов добавляет trunk в качестве dev-версии.
  4. Пересобирает JSON-файлы пакета composer.

Использование Packagist

Как использовать WordPress Packagist?

  1. Добавьте репозиторий в ваш composer.json
  2. Добавьте нужные плагины и темы в соответствии с вашими требованиями, используя wpackagist-plugin или wpackagist-theme в качестве имени поставщика.
  3. Выполните $ composer.phar update
  4. Пакеты устанавливаются в wp-content/plugins/ или wp-content/themes/ (если иное не указано в installer-paths).

Пример

{
    "name": "acme/brilliant-wordpress-site",
    "description": "My brilliant WordPress site",
    "repositories":[
        {
            "type":"composer",
            "url":"https://wpackagist.org",
            "only": [
                "wpackagist-plugin/*",
                "wpackagist-theme/*"
            ]
        }
    ],
    "require": {
        "aws/aws-sdk-php":"*",
        "wpackagist-plugin/akismet":"dev-trunk",
        "wpackagist-plugin/wordpress-seo":">=7.0.2",
        "wpackagist-theme/hueman":"*"
    },
    "autoload": {
        "psr-0": {
            "Acme": "src/"
        }
    },
    "extra": {
        "installer-paths": {
            "wp-content/mu-plugins/{$name}/": [
                "wpackagist-plugin/akismet"
            ],
            "wp-content/plugins/{$name}/": [
                "type:wordpress-plugin"
            ]
        }
    }
}

Выше пример файла composer.json, который добавляет репозиторий Wpackagist и включает последнюю версию Akismet (установленную как обязательный плагин), как минимум версию 3.9 Captcha и последнюю тему Hueman вместе с Amazon Web Services SDK из основного репозитория Packagist.

Старый префикс поставщика wpackagist теперь удален в пользу wpackagist-plugin.

Известные проблемы репозитория

  • Требуется Composer 1.0.0-alpha7 или более новая версия для работы с WordPress Packagist.
  • Строки версий, которые Composer не может разобрать, игнорируются. Все плагины имеют как минимум trunk-сборку.
  • Темы не имеют версии trunk. Рекомендуется использовать "*" в качестве требуемой версии.
  • Даже если пакеты присутствуют в SVN, они не будут доступны, если они не опубликованы на wordpress.org. Попробуйте поискать ваш плагин, прежде чем сообщать об ошибке.
  • Вы также можете проверить наличие открытых проблем.
Опубликовано 17 января 2023 в 16:35
Обновлено 9 января 2024 в 14:11
Категория: Блог
Теги: