Совершенно разумный вопрос, и кое-что, о чем ACF подумал, и создал руководство для . Это руководство состоит из двух частей, которые я кратко изложу ниже:
- Фактический плагин ACF должен быть включен в вашу тему, что вы можете сделать одним из следующих способов:
- Объединение фактического PHP-кода ACF с вашей темой (фактические файлы плагинов)
- Или предоставьте ссылку на страницу плагина ACF и предложите пользователям установить плагин как часть вашей темы readme.
- Включая определенные пользовательские поля, которые идут с вашей темой - это то, о чем ваш вопрос в основном задается. Опять же, несколько разных способов сделать это:
- В качестве новой функции ACF вы можете зарегистрировать настраиваемые поля в своей теме, используя файлы JSON вместо сохранения конфигурации в базе данных SQL. Это то, что я лично использую, поскольку безумно легко настроить (просто создайте папку acf-json в корне вашей темы) и позволяет вам использовать контроль версий (например, GIT) для отслеживания пользовательских настроек. изменения поля.
- Если вы предпочитаете старый способ, вы можете зарегистрировать свои настраиваемые поля в файле functions.php вашей темы.
Некоторую дополнительную информацию, которую я могу предоставить:
Как насчет хранения значений ACF, а не конфигурации?
Существует только одна «база данных» для данной установки Wordpress, и способ, которым ACF хранит значения, введенные пользователями для настраиваемых полей с данным сообщением, находится в таблице «wp_postmeta», связывая значение с идентификатором сообщения, метка поля (изменяемая) и идентификатор поля (постоянный).
Это на самом деле выгодно для вас, как для разработчика темы, потому что это означает, что если пользователь делает что-то вроде установки вашей темы, вводит кучу значений настраиваемых полей, случайно удаляет вашу тему или переключается на другую, а затем хочет чтобы включить его, данные не будут потеряны.
Обеспечение установки ACF с вашей темой
Если вы решите не связывать источник ACF с вашей темой, а вместо этого предложите пользователям вручную установить плагин через каталог плагинов, вы можете установить некоторые проверки в своей теме, чтобы убедиться, что они это делают. Вы можете использовать что-то вроде if(!function_exists('the_field')){ /* Block use of your theme until installed */ }
в некоторых стратегических местах в коде вашей темы, чтобы проверить, установлен ли ACF, а если нет, обработать это соответствующим образом и предложить администратору установить.