WordPress Packagist является зеркальным отражением каталогов плагинов и тем WordPress в качестве репозитория Composer.
Ядро WordPress
Смотрите fancyguy/webroot-installer или johnpbloch/wordpress для установки самого WordPress с помощью Composer.
Внести свой вклад или получите поддержку: посетите страницу Packagist на GitHub.
Используем Composer
Зачем нам использовать Composer?
«Composer — это инструмент для управления зависимостями в PHP. Он позволяет вам объявить зависимые библиотеки, необходимые вашему проекту, и он установит их в ваш проект за вас.»
— getcomposer.org
- Избегание фиксации плагинов и тем в системе контроля исходного кода.
- Избегание необходимости использовать подмодули git.
- Управление библиотеками проектов WordPress и не-WordPress с помощью одних и тех же инструментов.
- В перспективе может использоваться для управления зависимостями между плагинами.
Работа Репозитория WordPress Packagist
Как работает репозиторий?
- Каждый час сканирует репозиторий WordPress Subversion на наличие плагинов и тем. Выполните поиск и нажмите ↺, чтобы сделать доступными все новые версии.
- Находит
tags
для каждого обновленного пакета и сопоставляет их с версиями. - Для плагинов добавляет
trunk
в качестве dev-версии. - Пересобирает JSON-файлы пакета composer.
Использование Packagist
Как использовать WordPress Packagist?
- Добавьте репозиторий в ваш composer.json
- Добавьте нужные плагины и темы в соответствии с вашими требованиями, используя
wpackagist-plugin
илиwpackagist-theme
в качестве имени поставщика. - Выполните
$ composer.phar update
- Пакеты устанавливаются в
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. Попробуйте поискать ваш плагин, прежде чем сообщать об ошибке.
- Вы также можете проверить наличие открытых проблем.