Когда вы редактируете группу полей в админке Field Forge, изменения сохраняются в базе данных WordPress. Отлично — пока вы не осознаете:
Без системы контроля версий группы полей теряются в синхронизации. Миграции из разработки в продакшн становятся подвержены ошибкам. Откаты невозможны.
Локальная синхронизация JSON решает все эти проблемы, делая группы полей файловыми наряду с базой данных. База данных является источником правды для живого редактирования; JSON-файлы — источником правды для контроля версий и развертывания.
В Field Forge → Настройки → Локальный JSON, включите эту функцию. Укажите каталог в вашей активной теме, где должны сохраняться JSON-файлы (по умолчанию: wp-content/themes/your-theme/fieldforge-json/).
Каждый раз, когда вы сохраняете группу полей в админке Field Forge, плагин также записывает JSON-файл в указанный каталог. Имя файла — group_{id}_{slug}.json — например, group_1_hero-section.json.
Содержимое файла:
«json { "key": "hero-section", "title": "Hero Section", "fields": [ { "key": "field_hero_title", "label": "Hero Title", "name": "hero_title", "type": "text", "required": true, "max_length": 120 }, { "key": "field_hero_subtitle", "label": "Hero Subtitle", "name": "hero_subtitle", "type": "textarea", "rows": 2 }, { "key": "field_hero_image", "label": "Background Image", "name": "background_image", "type": "image", "return_format": "array" } ], "location": [ [ { "param": "post_template", "operator": "==", "value": "template-landing.php" } ] ], "position": "normal", "style": "default" } «
Добавьте каталог fieldforge-json/ в репозиторий git вашей темы. Коммитьте изменения группы полей так же, как и любые другие изменения кода.
«bash git add fieldforge-json/group_1_hero-section.json git commit -m "Добавить поле фонового изображения в Hero Section" git push «
Теперь каждое изменение группы полей имеет автора, временную метку и сообщение коммита. Вы можете сравнивать изменения с течением времени, откатываться к предыдущим версиям и видеть, кто добавил какое поле.
Когда вы развертываете свою тему на staging или production, JSON-файлы идут вместе с ней. Field Forge в целевой среде обнаруживает новые или измененные JSON-файлы и автоматически импортирует их.
Локальная синхронизация JSON является двунаправленной — вы можете редактировать группы полей через интерфейс админки (что обновляет как базу данных, так и JSON-файл) ИЛИ редактируя JSON-файлы напрямую (что обновляет базу данных при следующей загрузке Field Forge).
Редактируйте группы полей визуально в админке Field Forge. JSON-файлы автоматически обновляются при сохранении. Коммитьте JSON-файлы в git. Разворачивайте в другие среды.
Редактируйте JSON-файлы напрямую в вашем IDE (VS Code, PhpStorm и т.д.). При следующей загрузке страницы Field Forge обнаруживает изменения JSON и обновляет базу данных. Коммитьте JSON-файлы в git.
Оба рабочих процесса поддерживаются. Команды обычно используют UI для новых групп полей и редактирование кода для небольших корректировок.
Field Forge сравнивает хэш содержимого каждого JSON-файла с версией базы данных при загрузке. Если они различаются, Field Forge:
Это предотвращает тихое расхождение. Если кто-то редактирует группу полей на production напрямую (обходя рабочий процесс dev → staging → prod), вы увидите уведомление в следующий раз, когда развернете.
Локальная синхронизация JSON соблюдает лучшие практики безопасности WordPress:
.htaccess защита — каталог JSON защищен от прямого HTTP-доступа по умолчанию (файл .htaccess блокирует его)Field Forge проверяет несколько путей загрузки для JSON-файлов:
fieldforge-json/ активной темыfieldforge-json/ родительской темы (если активна дочерняя тема)fieldforge/local_json/load_pathsЭто означает, что родительская тема может поставлять группы полей через JSON, а дочерние темы могут переопределять или расширять их.
В сети WordPress multisite у каждого сайта есть свой собственный каталог fieldforge-json/. Сетевые администраторы могут выбрать между:
«php add_filter('fieldforge/local_json/save_path', function($path) { return WP_CONTENT_DIR . '/custom-fieldforge-json'; }); «
«php add_filter('fieldforge/local_json/load_paths', function($paths) { $paths[] = WP_PLUGIN_DIR . '/my-plugin/fields'; return $paths; }); «
ACF представил аналогичную функцию локального JSON много лет назад. Реализация Field Forge в значительной степени совместима — JSON-файлы группы полей из ACF могут быть импортированы в каталог JSON Field Forge с незначительными изменениями формата (Field Forge добавляет несколько метаданных, которые ACF не отслеживает).
Если вы мигрируете из ACF с существующими JSON-файлами, инструмент миграции Field Forge считывает их во время импорта и автоматически переводит в формат Field Forge.
Несколько разработчиков работают над сайтами клиентов. Группы полей определены в коде, закоммичены в git, развернуты через CI/CD. Новые члены команды клонируют репозиторий и сразу получают все группы полей.
П pipeline разработки → staging → production, где изменения группы полей идут вместе с обновлениями темы. Нет ручного шага «подождите, мне нужно экспортировать и импортировать группы полей».
Создайте тему WordPress, которая поставляется с предопределенными группами полей. Пользователи устанавливают тему, Field Forge обнаруживает JSON-файлы, группы полей появляются автоматически.
Пользовательский плагин, который требует определенные группы полей. Упакуйте JSON-файлы внутри плагина, зарегистрируйте путь загрузки через фильтр, группы полей активируются, когда активируется плагин.
Получите Field Forge — от $35/год →
Локальная синхронизация JSON включена в каждый платный план.