| Fonctionnalité | Field Forge from $35/yr | Competitor |
|---|---|---|
| Enregistrement de champ | ✗ | ✗ |
| Constructeur visuel | ✓ | ✗ |
| Convial pour les non-développeurs | ✓ | ✗ |
| Génération de schéma AI | ✓ | ✗ |
| Stockage de table personnalisé | ✓ | ✗ |
| Performance sur les grands sites | ✗ | ✗ |
| Compatibilité ACF | ✓ | ✗ |
| Génération TypeScript | ✓ | ✗ |
| Génération GraphQL | ✓ | ✗ |
| Versionnage de schéma | ✓ | ✗ |
| Support commercial | ✓ | ✗ |
| Types de champ | ✗ | ✗ |
| Field Forge | CMB2 | |
|---|---|---|
| Prix | $35/an (Personnel) à $169/an (Agence) | Gratuit |
| Enregistrement de champ | Constructeur visuel + API de code | Code uniquement (fichiers PHP) |
| Constructeur visuel | Oui (moderne) | Non |
| Convivial pour les non-développeurs | Oui | Non (nécessite des compétences en PHP) |
| Génération de schéma AI | Oui | Non |
| Stockage de table personnalisé | Oui | Non (wp_postmeta) |
| Performance sur les grands sites | 3–10x plus rapide | Identique à ACF (wp_postmeta) |
| Compatibilité ACF | Oui (couche de compatibilité) | Non |
| Génération TypeScript | Oui | Non |
| Génération GraphQL | Oui | Non |
| Versionnage de schéma | Oui | Non (utilisez git pour les fichiers de code) |
| Support commercial | Oui | Non (communauté uniquement) |
| Types de champ | 32 | ~25 |
L’interface principale de CMB2 est le code PHP. Les champs sont définis via des fonctions de rappel enregistrées sur le hook cmb2_admin_init :
“`php add_action(‘cmb2_admin_init’, function() { $cmb = new_cmb2_box([ ‘id’ => ‘hero_section’, ‘title’ => ‘Section Héros’, ‘object_types’ => [‘page’], ]);
$cmb->add_field([ ‘name’ => ‘Titre Héros’, ‘id’ => ‘hero_title’, ‘type’ => ‘text’, ]);
$cmb->add_field([ ‘name’ => ‘Image Héros’, ‘id’ => ‘hero_image’, ‘type’ => ‘file’, ]); }); “`
Pour les développeurs qui versionnent tout et ne touchent jamais à l’admin WordPress pour la configuration, ce flux de travail est idéal. Les définitions de champ vivent dans les fichiers de thème/plugin, s’engagent dans git, se déploient via CI/CD, sans maux de tête de migration de base de données.
CMB2 est sous licence GPL, gratuit pour toujours, et maintenu par une petite équipe de contributeurs. Pour les projets sensibles au coût, vous ne pouvez pas battre le gratuit.
La base de code de CMB2 est petite. Pas d’interface admin à rendre, pas de cadre d’options lourd. Impact minimal sur les temps de chargement des pages et la performance de l’admin.
Parce que les champs sont définis dans le code, un développeur peut mettre en place un système de champs personnalisés complet sans jamais ouvrir l’admin WordPress. Pour les flux de travail lourds en CLI ou la configuration programmatique de sites, c’est un avantage.
La plus grande limitation de CMB2 est qu’il n’a aucun constructeur visuel. Chaque champ doit être défini dans le code PHP. Pour les équipes qui incluent :
…CMB2 est un non-démarreur.
Field Forge offre les deux : un constructeur visuel moderne pour les non-développeurs et une API de code pour les développeurs qui préfèrent la configuration programmatique. Vous n’avez pas à choisir.
Field Forge est le seul plugin de champs personnalisés WordPress avec génération de groupes de champs basée sur l’IA. CMB2 n’a pas de fonctionnalités AI. Pour les équipes construisant régulièrement de nouveaux groupes de champs, la génération AI fait gagner un temps considérable.
Fonction de génération de schéma AI →
CMB2 utilise wp_postmeta pour le stockage des valeurs de champ, héritant du même problème de requête N+1 qui affecte ACF et Meta Box. Field Forge utilise une table indexée personnalisée qui fonctionne 3–10x plus vite sur les sites avec de nombreux articles ou des répétiteurs complexes.
Pour un développeur construisant un site qu’il s’attend à voir croître à plus de 10 000 articles, c’est une véritable préoccupation architecturale. L’approche wp_postmeta de CMB2 rencontrera des murs de performance qui nécessiteront des solutions de mise en cache. L’approche de table personnalisée de Field Forge évolue de manière linéaire.
Fonction de stockage de table personnalisé →
CMB2 a sa propre API — get_post_meta($post_id, 'field_name', true) — qui est native à WordPress mais manque de la mise en forme plus riche et de la résolution de champs relationnels d’ACF. La migration d’ACF vers CMB2 nécessite de réécrire chaque référence de modèle.
Field Forge prend en charge à la fois l’API de style ACF (get_field(), have_rows(), etc.) via la couche de compatibilité et le get_post_meta() natif de WordPress. Le code écrit pour ACF ou SCF fonctionne sans changement.
CMB2 a un support minimal pour WordPress headless. Les valeurs de champ sont stockées dans wp_postmeta et exposées sur l’API REST de WordPress, mais il n’y a pas de génération TypeScript, pas de schéma GraphQL, et pas d’intégration WPGraphQL (au-delà de ce que le cœur de WordPress fournit).
Field Forge génère automatiquement des définitions TypeScript et GraphQL pour chaque groupe de champs. Pour les équipes WordPress headless, c’est un avantage de productivité significatif.
Génération TypeScript → · Génération GraphQL →
CMB2 est soutenu par la communauté via les problèmes GitHub. Pour un open source gratuit, c’est standard. Mais pour les équipes qui ont besoin de temps de réponse garantis, de dépannage de sites de production et de corrections de bugs prioritaires, le support communautaire n’est pas suffisant.
Field Forge fournit un support par e-mail prioritaire (réponse en 1 jour ouvrable) sur chaque plan payant.
Field Forge suit les changements de groupes de champs en tant que révisions au niveau de la base de données avec un retour en arrière en un clic. CMB2 s’appuie sur l’historique git pour le versionnage (puisque les définitions de champ sont dans des fichiers de code). Les deux fonctionnent, mais l’approche de Field Forge capture également les changements pilotés par l’interface admin et fournit une comparaison visuelle des différences.
Pour les utilisateurs de CMB2 migrer vers le mode code-first de Field Forge, git fonctionne toujours. Pour les équipes qui souhaitent un historique au niveau de la base de données en plus de git, Field Forge ajoute cette couche.
Field Forge offre en fait le meilleur des deux mondes pour les développeurs CMB2 :
Les éditeurs de contenu et les chefs de projet peuvent créer et éditer des groupes de champs simples dans le constructeur visuel de Field Forge sans toucher au code.
Les développeurs peuvent enregistrer des groupes de champs via fieldforge_register_field_group() en PHP — même philosophie que CMB2, API différente :
“php add_action('fieldforge/init', function() { fieldforge_register_field_group([ 'key' => 'hero-section', 'title' => 'Section Héros', 'fields' => [ [ 'key' => 'hero_title', 'label' => 'Titre Héros', 'type' => 'text', ], [ 'key' => 'hero_image', 'label' => 'Image Héros', 'type' => 'image', ], ], 'location' => [ [ [ 'param' => 'post_type', 'operator' => '==', 'value' => 'page', ], ], ], ]); }); “
Pour les développeurs qui souhaitent un versionnage git sans enregistrement PHP, la fonction de synchronisation JSON locale de Field Forge enregistre les groupes de champs en tant que fichiers JSON dans le thème. Engagez-vous dans git comme les fichiers PHP de CMB2, mais avec l’édition visuelle comme option.
Fonction de synchronisation JSON locale →
Field Forge peut importer des définitions de champs CMB2 :
new_cmb2_box() et add_field()wp_postmeta vers la table personnalisée de Field ForgeLe parseur automatique gère les modèles de code CMB2 standard. Pour des configurations de champs personnalisés inhabituelles ou une logique conditionnelle complexe, un examen manuel peut être nécessaire. Notre équipe de support peut aider avec des cas particuliers.
Pour tout le reste — en particulier les équipes avec des membres dev/non-dev mixtes, les sites sensibles à la performance, WordPress headless, ou quiconque souhaitant un support payant — Field Forge est un meilleur choix.
CMB2 est-il plus rapide que Field Forge ? Non. CMB2 utilise le stockage wp_postmeta, qui a les mêmes problèmes de performance de requête N+1 que ACF. Le stockage de table personnalisé de Field Forge est plus rapide sur tout site avec >500 articles ou des répétiteurs complexes.
Puis-je continuer à utiliser le style code-first de CMB2 dans Field Forge ? Oui. Field Forge a sa propre fonction fieldforge_register_field_group() pour l’enregistrement programmatique des champs. De plus, la synchronisation JSON locale vous permet d’engager des définitions de groupes de champs dans git en tant que fichiers JSON.
Field Forge prend-il en charge tout ce que fait CMB2 ? Field Forge a 32 types de champs principaux ; CMB2 en a ~25. Tous les types de champs courants sont couverts. Pour les types CMB2 de niche non présents dans Field Forge, l’API de type de champ personnalisé vous permet de les ajouter.
La migration depuis CMB2 est-elle automatique ? L’importateur CMB2 de Field Forge gère automatiquement les modèles de code standard. Pour des configurations de champs personnalisés inhabituelles, un examen manuel peut être nécessaire.
Qu’en est-il des flux de travail basés sur git ? La synchronisation JSON locale de Field Forge enregistre les groupes de champs en tant que fichiers JSON dans votre thème — engagez-vous dans git comme les fichiers PHP de CMB2. Alternativement, enregistrez les champs via fieldforge_register_field_group() en PHP pour la même expérience code-first.
Obtenez Field Forge — à partir de $35/an →
Remboursement de 14 jours. Importateur CMB2 inclus. Constructeur visuel pour les non-dev, API de code pour les devs.
Non. CMB2 utilise le stockage wp_postmeta, qui a les mêmes problèmes de performance de requête N+1 que ACF. Le stockage de table personnalisé de Field Forge est plus rapide sur tout site avec >500 articles ou des répétiteurs complexes.
Oui. Field Forge a sa propre fonction fieldforge_register_field_group() pour l'enregistrement programmatique des champs. De plus, la synchronisation JSON locale vous permet d'engager des définitions de groupes de champs dans git en tant que fichiers JSON.
Field Forge a 32 types de champs principaux ; CMB2 en a ~25. Tous les types de champs courants sont couverts. Pour les types CMB2 de niche non présents dans Field Forge, l'API de type de champ personnalisé vous permet de les ajouter.
L'importateur CMB2 de Field Forge gère automatiquement les modèles de code standard. Pour des configurations de champs personnalisés inhabituelles, un examen manuel peut être nécessaire.
La synchronisation JSON locale de Field Forge enregistre les groupes de champs en tant que fichiers JSON dans votre thème — engagez-vous dans git comme les fichiers PHP de CMB2. Alternativement, enregistrez les champs via fieldforge_register_field_group() en PHP pour la même expérience code-first.
Every feature included. Every plan. Starting at $35/yr.