Коли ви редагуєте групу полів у адмінці 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": "Герой Секція", "fields": [ { "key": "field_hero_title", "label": "Назва Героя", "name": "hero_title", "type": "text", "required": true, "max_length": 120 }, { "key": "field_hero_subtitle", "label": "Підзаголовок Героя", "name": "hero_subtitle", "type": "textarea", "rows": 2 }, { "key": "field_hero_image", "label": "Фонове Зображення", "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 "Додати поле фонове зображення до Герой Секції" git push “
Кожна зміна групи полів тепер має автора, часову мітку та повідомлення коміту. Ви можете порівнювати зміни з часом, повертатися до попередніх версій і бачити, хто додав яке поле.
Коли ви розгортаєте свою тему на стадії або продукції, JSON файли йдуть разом з нею. Field Forge на цільовому середовищі виявляє нові або змінені JSON файли та імпортує їх автоматично.
Локальна синхронізація JSON є двосторонньою — ви можете редагувати групи полів через адмінський інтерфейс (що оновлює як базу даних, так і JSON файл) АБО редагуючи JSON файли безпосередньо (що оновлює базу даних наступного разу, коли Field Forge завантажується).
Редагуйте групи полів візуально в адмінці Field Forge. JSON файли автоматично оновлюються при збереженні. Комітуйте JSON файли до git. Розгортайте в інші середовища.
Редагуйте JSON файли безпосередньо у вашому IDE (VS Code, PhpStorm тощо). При наступному завантаженні сторінки Field Forge виявляє зміни JSON і оновлює базу даних. Комітуйте JSON файли до git.
Обидва робочі процеси підтримуються. Команди зазвичай використовують інтерфейс для нових груп полів і редагування коду для невеликих коригувань.
Field Forge порівнює хеш вмісту кожного JSON файлу з версією бази даних при завантаженні. Якщо вони відрізняються, Field Forge:
Це запобігає тихій дрейфу. Якщо хтось редагує групу полів на продукції безпосередньо (обминаючи робочий процес розробка → стадія → продукція), ви побачите повідомлення наступного разу, коли ви розгортаєте.
Локальна синхронізація JSON дотримується найкращих практик безпеки WordPress:
.htaccess захист — каталог JSON захищений від прямого HTTP доступу за замовчуванням (файл .htaccess блокує його)Field Forge перевіряє кілька шляхів завантаження для JSON файлів:
fieldforge-json/ активної темиfieldforge-json/ батьківської теми (якщо активна дочірня тема)fieldforge/local_json/load_paths фільтрЦе означає, що батьківська тема може постачати групи полів через JSON, а дочірні теми можуть їх перевизначати або розширювати.
На мережі WordPress мультисайт, кожен сайт має свій власний каталог 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. Нові члени команди завантажують репозиторій і отримують всі групи полів відразу.
Потік Dev → стадія → продукція, де зміни групи полів подорожують з оновленнями теми. Немає ручного етапу “ой, почекайте, мені потрібно експортувати та імпортувати групи полів”.
Створіть тему WordPress, яка постачається з попередньо визначеними групами полів. Користувачі встановлюють тему, Field Forge виявляє JSON файли, групи полів з’являються автоматично.
Користувацький плагін, який вимагає специфічних груп полів. Включіть JSON файли в плагін, зареєструйте шлях завантаження через фільтр, групи полів активуються, коли активується плагін.
Отримайте Field Forge — від $35/рік →
Локальна синхронізація JSON включена в кожен платний план.