Synchronisation JSON Locale — Groupes de Champs Compatibles avec Git | Field Forge - Champs personnalisés, conçus pour la vitesse
Télécharger Se connecter

Synchronisation JSON Locale — Groupes de Champs Compatibles avec Git

Le problème que cela résout

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 :

  • Votre environnement de développement local a une version du groupe de champs
  • La mise en scène a une version légèrement différente (parce que quelqu’un l’a modifiée là-bas)
  • La production a encore une autre version (parce qu’un éditeur de contenu a ajouté un champ directement)
  • Vous n’avez aucun historique de qui a changé quoi, ou quand, ou pourquoi

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.


Comment cela fonctionne

Étape 1 : Activer la synchronisation JSON locale

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/).

Étape 2 : Les groupes de champs se sauvegardent automatiquement en tant que 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" }

Étape 3 : Committer dans git

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.

Étape 4 : Déployer les fichiers JSON vers d’autres environnements

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.


Synchronisation bidirectionnelle

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).

Flux de travail orienté UI

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.

Flux de travail orienté code

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.


Détection des changements

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 :

  1. Affiche un avis d’administration : “Le groupe de champs ‘Section Héros’ est désynchronisé avec le JSON local”
  2. Propose des options : “Synchroniser de la base de données vers JSON” ou “Synchroniser de JSON vers la base de données”
  3. Vous cliquez sur la direction que vous souhaitez et Field Forge met à jour en conséquence

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.


Sécurité

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)
  • Permissions de fichier — les fichiers JSON sont créés avec les permissions de fichier WordPress standard (644)
  • Validation de chemin — le plugin ne lit que les fichiers JSON du répertoire configuré (pas de traversée de chemin)

Support des thèmes parent + enfant

Field Forge vérifie plusieurs chemins de chargement pour les fichiers JSON :

  1. Répertoire fieldforge-json/ du thème actif
  2. Répertoire fieldforge-json/ du thème parent (si le thème enfant est actif)
  3. Tous les chemins personnalisés enregistrés via le filtre fieldforge/local_json/load_paths

Cela 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.


Considérations multi-site

Sur un réseau multisite WordPress, chaque site a son propre répertoire fieldforge-json/. Les administrateurs de réseau peuvent choisir entre :

  • Fichiers JSON par site — chaque site a ses propres groupes de champs
  • Fichiers JSON partagés — les groupes de champs définis dans le thème parent s’appliquent à tous les sites qui l’utilisent
  • Hybride — certains groupes de champs partagés, certains par site

Hooks de filtre pour la personnalisation

Chemin de sauvegarde personnalisé

php add_filter('fieldforge/local_json/save_path', function($path) { return WP_CONTENT_DIR . '/custom-fieldforge-json'; });

Chemins de chargement personnalisés (par exemple, depuis un plugin)

php add_filter('fieldforge/local_json/load_paths', function($paths) { $paths[] = WP_PLUGIN_DIR . '/my-plugin/fields'; return $paths; });


Comparaison avec le JSON local d’ACF

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.


Cas d’utilisation

Flux de travail de développement d’agence

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.

Déploiements en plusieurs étapes

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”.

Distribution de thème

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.

Regroupement de plugins

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.


Prêt à contrôler la version de vos groupes de champs ?

Obtenez Field Forge — à partir de 35 $/an →

La synchronisation JSON locale est incluse dans chaque plan payant.

Assistant IA Forge En ligne

Bonjour ! Je suis l'assistant IA Field Forge. Posez-moi n'importe quelle question sur le plugin — configuration, fonctionnalités, dépannage ou développement.

À l'instant
Propulsé par Forge IA · Parcourir la documentation