Обзор
ACF PRO можно установить с помощью Composer. См. Установка ACF с помощью Composer для подробностей об установке бесплатного плагина ACF с помощью Composer.
Сгенерировать учетные данные API
Откройте Мой аккаунт, перейдите на вкладку Лицензии и затем нажмите Установить с помощью Composer для вашей лицензии.
После этого откроется панель, в которой можно сгенерировать файл учетных данных auth.json для использования с Composer.
Файл auth.json состоит из полей username и password. Composer использует username и password для аутентификации в нашем API с помощью HTTP basic authentication.
Username — это ключ лицензии ACF PRO, а password — URL сайта (включая https:// или http://), для которого активна лицензия.
{
"http-basic": {
"connect.advancedcustomfields.com": {
"username": "Dvl2P9fLovYy2oJkdYOPiCrHXcRgGrmk9WR62HdErPasPsV43COx0anwTizc9XFrY8qysqqZ",
"password": "https://mysite.com"
}
}
}
Паролем может быть уже существующий сайт, который уже активирован для ключа лицензии. В раскрывающемся списке есть уже активированные сайты, и при выборе они автоматически заполняют поле «password» в примере кода auth.json. Кроме того, вы можете ввести новый URL сайта в поле справа, чтобы заполнить auth.json. Этот URL сайта будет активирован для лицензии в вашей учетной записи после установки через Composer. Любая активация нового URL будет учитывать лимиты активаций для лицензии.
Если вы используете Composer для автоматической установки плагинов в новых сборках, когда конечный URL сайта еще неизвестен, мы рекомендуем использовать уже существующий production URL, который активирован для ключа лицензии.
Также мы рекомендуем определить ключ лицензии в коде. В противном случае вам придется активировать ACF PRO на каждом сайте вручную, вводя ключ лицензии на странице «Обновления» в админке ACF. Вы не сможете использовать PRO-функции ACF, пока ключ лицензии не будет введен — программно или вручную.
Использование системы контроля версий
Если вы используете систему контроля версий для своего сайта, мы рекомендуем добавить файл auth.json в файл исключений, например, .gitignore. Это не позволит включить ключ лицензии в репозиторий.
Создайте файл .gitignore в корне вашего локального Git, если у вас его еще нет:
touch .gitignore
Затем добавьте правило, чтобы игнорировать файл auth.json:
# Исключить auth.json из репозитория Git
auth.json
Обязательно создайте файл auth.json на боевом сервере при развертывании сайта, если вы добавили его в .gitignore.
Разработчикам, работающим с сайтом локально, также нужно будет создать файл auth.json и добавить в него ключ лицензии перед запуском команды установки Composer.
Добавить наш репозиторий
Добавьте наш репозиторий в файл composer.json:
"repositories": [
{
"type":"composer",
"url":"https://connect.advancedcustomfields.com"
}
]
Установить плагин
Из CLI выполните установку ACF PRO с помощью следующей команды:
composer require wpengine/advanced-custom-fields-pro
Ограничения версий
Вы можете использовать любые ограничения версий Composer или указать точную версию плагина:
"require": {
"wpengine/advanced-custom-fields-pro": "6.3.1.2"
}
Настройка путей установки
Мы используем composer/installers, чтобы автоматически устанавливать наш пакет плагина в wp-content/plugins/. Однако вы можете настроить путь установки, добавив следующее в файл composer.json:
"extra": {
"installer-paths": {
"wp-content/plugins/{$name}/": ["type:wordpress-plugin"]
}
}
Установка как MU-плагин
Если вы предпочитаете установить ACF PRO как обязательный к загрузке плагин (mu-plugin), чтобы он всегда загружался WordPress и не мог быть деактивирован из админ-панели, как обычный плагин, вы можете изменить путь установки, добавив следующее в файл composer.json:
"extra": {
"installer-paths": {
"wp-content/mu-plugins/{$name}/": ["wpengine/advanced-custom-fields-pro"]
}
}
Однако каталоги плагинов внутри каталога mu-plugin не будут автоматически загружаться WordPress, поэтому вам нужно будет подключить их вручную с помощью файла acf.php в корне каталога mu-plugin:
<?php
require_once WPMU_PLUGIN_DIR . '/advanced-custom-fields-pro/acf.php';
В качестве альтернативы существует пакет, который автоматически обрабатывает загрузку каталогов в директории mu-plugin.
Пример composer.json
{
"name": "wpengine/composer-test.dev",
"description": "ACF PRO на сайте WordPress",
"repositories": [
{
"type":"composer",
"url":"https://connect.advancedcustomfields.com"
}
],
"require": {
"wpengine/advanced-custom-fields-pro": "^6.0",
}
}
Системы сборки и переменные окружения
Вместо auth.json вы можете передать базовую аутентификацию через переменную окружения COMPOSER_AUTH, если ваша система развертывания не поддерживает добавление файлов до сборки. Это должна быть JSON-строка, закодированная по шаблону ниже:
export COMPOSER_AUTH='{"http-basic": {"connect.advancedcustomfields.com": {"username": "Dvl2P9fLovYy2oJkdYOPiCrHXcRgGrmk9WR62HdErPasPsV43COx0anwTizc9XFrY8qysqqZ", "password": "https://mysite.com"}}}'
Если вы используете Roots Trellis для развертывания, вы можете воспользоваться функцией Composer HTTP Basic Authentication, поддерживаемой вашим хранилищем Ansible vault.
Устранение неполадок
Коды ошибок загрузок Composer соответствуют стандарту HTTP. Например, 400 означает, что вы запросили недопустимую версию, 401 — что вы указали неверный ключ лицензии или URL сайта, а 402 — что у вашей лицензии закончились доступные сайты или срок действия лицензии истек.
