Field Forge enregistre automatiquement les types et résolveurs natifs avec WPGraphQL lorsque le plugin WPGraphQL est actif. WPGraphQL pour ACF n’est pas requis. Les résolveurs lisent les valeurs des tables Field Forge, donc les champs migrés continuent de fonctionner après la désactivation d’ACF.
Interrogation des Champs via GraphQL
query GetProduct($id: ID!) {
product(id: $id, idType: DATABASE_ID) {
title
fieldForgeProductFields {
price
saleBadge
productGallery {
databaseId
sourceUrl
mediaItemUrl
altText
}
featuredProduct {
__typename
databaseId
contentTypeName
uri
}
specifications {
label
value
}
}
}
}Mappage des Types GraphQL
| Type Field Forge | Type GraphQL |
|---|---|
text, textarea, email, url, password | String |
number, range | Float |
true_false | Boolean |
image, file | MediaItem |
select, radio, button_group | String |
checkbox | [String] |
gallery | [MediaItem] |
post_object | ContentNode ou [ContentNode] lorsque la sélection multiple est activée |
relationship | [ContentNode] |
taxonomy | TermNode ou [TermNode] pour les champs de case à cocher / multi-sélection |
user, page_link | String dans le contexte actuel du résolveur natif |
date_picker, time_picker, color_picker | String |
repeater | Type de liste personnalisé |
group | Type d’objet personnalisé |
flexible_content | Type de liste personnalisé avec acfFcLayout et sous-champs de mise en page |
Règles de Nommage
- Chaque type de publication correspondant obtient un champ par groupe Field Forge :
fieldForge+ le titre du groupe en PascalCase. Exemple :Product FieldsdevientfieldForgeProductFields. - Les noms de champs sont convertis de snake_case ou kebab-case en camelCase. Exemple :
hero_titledevientheroTitle. - Le contenu flexible expose le nom de la mise en page comme
acfFcLayout. - Si deux noms GraphQL entrent en collision dans le même type d’objet, Field Forge ajoute un suffixe stable à partir de la clé de champ ou de l’ID de groupe.
Les résolveurs natifs couvrent les valeurs scalaires, les formes structurées de Groupe / Répétiteur / Contenu Flexible, et les champs basés sur des objets. image, file, et gallery se résolvent en objets WPGraphQL MediaItem ; post_object et relationship se résolvent en ContentNode ; taxonomy se résout en TermNode. Le même mappage d’objet fonctionne à l’intérieur des sous-champs de Groupe, Répétiteur et Contenu Flexible imbriqués.
Pour les requêtes anonymes, Field Forge filtre les objets de publication privés, brouillons, protégés par mot de passe ou non-GraphQL inaccessibles avant de les retourner. Les champs d’objet unique retournent null ; les champs de liste omettent les nœuds inaccessibles. Les termes ne sont retournés que lorsque leur taxonomie est exposée à WPGraphQL.
—