Lorsque vous modifiez un groupe de champs dans l’administration de Field Forge, le changement est enregistré dans la base de données WordPress. Super — jusqu’à ce que vous réalisiez :
Sans contrôle de version, les groupes de champs dérivent hors de synchronisation. Les migrations de développement à production deviennent sujettes aux erreurs. Les retours en arrière sont impossibles.
La synchronisation JSON locale résout tout cela en rendant les groupes de champs basés sur des fichiers tout en étant basés sur une base de données. La base de données est la source de vérité pour l’édition en direct ; les fichiers JSON sont la source de vérité pour le contrôle de version et le déploiement.
Dans Field Forge → Paramètres → JSON local, activez la fonctionnalité. Spécifiez un répertoire dans votre thème actif où les fichiers JSON doivent être enregistrés (par défaut : wp-content/themes/your-theme/fieldforge-json/).
Chaque fois que vous enregistrez un groupe de champs dans l’administration de Field Forge, le plugin écrit également un fichier JSON dans le répertoire configuré. Le nom du fichier est group_{id}_{slug}.json — par exemple, group_1_hero-section.json.
Contenu du fichier :
“json { "key": "hero-section", "title": "Section Héros", "fields": [ { "key": "field_hero_title", "label": "Titre Héros", "name": "hero_title", "type": "text", "required": true, "max_length": 120 }, { "key": "field_hero_subtitle", "label": "Sous-titre Héros", "name": "hero_subtitle", "type": "textarea", "rows": 2 }, { "key": "field_hero_image", "label": "Image de Fond", "name": "background_image", "type": "image", "return_format": "array" } ], "location": [ [ { "param": "post_template", "operator": "==", "value": "template-landing.php" } ] ], "position": "normal", "style": "default" } “
Ajoutez le répertoire fieldforge-json/ au dépôt git de votre thème. Commitez les changements de groupe de champs comme n’importe quel autre changement de code.
“bash git add fieldforge-json/group_1_hero-section.json git commit -m "Ajouter le champ d'image de fond à la Section Héros" git push “
Chaque changement de groupe de champs a maintenant un auteur, un horodatage et un message de commit. Vous pouvez comparer les changements au fil du temps, revenir à des versions précédentes et voir qui a ajouté quel champ.
Lorsque vous déployez votre thème sur la mise en scène ou la production, les fichiers JSON l’accompagnent. Field Forge sur l’environnement de destination détecte les nouveaux fichiers JSON ou les fichiers modifiés et les importe automatiquement.
La synchronisation JSON locale est bidirectionnelle — vous pouvez modifier les groupes de champs via l’interface d’administration (ce qui met à jour à la fois la base de données et le fichier JSON) OU en modifiant directement les fichiers JSON (ce qui met à jour la base de données lors du prochain chargement de Field Forge).
Modifiez les groupes de champs visuellement dans l’administration de Field Forge. Les fichiers JSON se mettent à jour automatiquement lors de l’enregistrement. Commitez les fichiers JSON dans git. Déployez vers d’autres environnements.
Modifiez les fichiers JSON directement dans votre IDE (VS Code, PhpStorm, etc.). Lors du prochain chargement de page, Field Forge détecte les changements JSON et met à jour la base de données. Commitez les fichiers JSON dans git.
Les deux flux de travail sont pris en charge. Les équipes utilisent généralement l’interface utilisateur pour de nouveaux groupes de champs et l’édition de code pour de petits ajustements.
Field Forge compare le hachage de contenu de chaque fichier JSON à la version de la base de données lors du chargement. S’ils diffèrent, Field Forge :
Cela empêche les dérives silencieuses. Si quelqu’un modifie un groupe de champs en production directement (en contournant le flux de travail dev → staging → prod), vous verrez un avis la prochaine fois que vous déployez.
La synchronisation JSON locale respecte les meilleures pratiques de sécurité de WordPress :
.htaccess protection — le répertoire JSON est protégé contre l’accès HTTP direct par défaut (un fichier .htaccess le bloque)Field Forge vérifie plusieurs chemins de chargement pour les fichiers JSON :
fieldforge-json/ du thème actiffieldforge-json/ du thème parent (si le thème enfant est actif)fieldforge/local_json/load_pathsCela signifie qu’un thème parent peut expédier des groupes de champs via JSON, et les thèmes enfants peuvent les remplacer ou les étendre.
Sur un réseau multisite WordPress, chaque site a son propre répertoire fieldforge-json/. Les administrateurs de réseau peuvent choisir entre :
“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 a introduit une fonctionnalité JSON locale similaire il y a des années. L’implémentation de Field Forge est largement compatible — les fichiers JSON de groupe de champs d’ACF peuvent être importés dans le répertoire JSON de Field Forge avec des ajustements mineurs de format (Field Forge ajoute quelques champs de métadonnées qu’ACF ne suit pas).
Si vous migrez depuis ACF avec des fichiers JSON existants, l’outil de migration de Field Forge les lit lors de l’importation et les traduit automatiquement au format de Field Forge.
Plusieurs développeurs travaillant sur des sites clients. Groupes de champs définis dans le code, commis dans git, déployés via CI/CD. Les nouveaux membres de l’équipe tirent le dépôt et ont tous les groupes de champs immédiatement.
Pipeline de développement → mise en scène → production où les changements de groupe de champs voyagent avec les mises à jour de thème. Pas d’étape manuelle “oh attendez, je dois exporter et importer les groupes de champs”.
Construisez un thème WordPress qui expédie avec des groupes de champs prédéfinis. Les utilisateurs installent le thème, Field Forge détecte les fichiers JSON, les groupes de champs apparaissent automatiquement.
Un plugin personnalisé qui nécessite des groupes de champs spécifiques. Expédiez les fichiers JSON à l’intérieur du plugin, enregistrez un chemin de chargement via un filtre, les groupes de champs s’activent lorsque le plugin s’active.
Obtenez Field Forge — à partir de 35 $/an →
La synchronisation JSON locale est incluse dans chaque plan payant.