WPGraphQL es la capa de API GraphQL para WordPress. Expone publicaciones, páginas, taxonomías y usuarios de WordPress como un esquema GraphQL que los frontends de JavaScript (Next.js, Astro, Nuxt, SvelteKit, etc.) pueden consultar de manera eficiente. Es la forma estándar de construir WordPress headless con un frontend de JavaScript.
La brecha de WPGraphQL siempre ha sido los campos personalizados. No conoce ACF, Meta Box, CMB2, ni los campos de ningún otro plugin; necesitas plugins adicionales como WPGraphQL for ACF para cerrar la brecha.
Field Forge llena esta brecha de manera nativa. Cuando Field Forge y WPGraphQL están activos, los campos personalizados de Field Forge aparecen automáticamente en el esquema GraphQL.
Cuando Field Forge se activa (o WPGraphQL se activa después de Field Forge), Field Forge:
function_exists('register_graphql_object_type')fieldforge a cada tipo de publicación consultableTodo esto sucede automáticamente, en segundo plano, durante la activación del plugin.
Cuando agregas, editas o eliminas un grupo de campos en el constructor visual de Field Forge, el esquema GraphQL se actualiza automáticamente. La caché del esquema de WPGraphQL se vacía y Field Forge vuelve a registrar los tipos actualizados en la siguiente solicitud.
No necesitas regenerar nada manualmente.
Con Field Forge y WPGraphQL ambos activos, puedes consultar campos personalizados así:
“graphql query GetHomepage { page(id: "home", idType: URI) { title fieldforge { heroSection { title subtitle backgroundImage { sourceUrl altText mediaDetails { width height } } ctaButton { text url openInNewTab } } featuresSection { sectionTitle features { icon title description } } } } } “
La clave fieldforge expone todos los grupos de campos asignados a la página a través de reglas de ubicación. Cada grupo de campos es un objeto tipado con sus propios campos.
Los campos repetidores, grupos y contenido flexible producen tipos GraphQL anidados adecuados:
“`graphql type TeamPageFieldforge { teamMembers: [TeamMemberRow] }
type TeamMemberRow { name: String photo: MediaItem bio: String socialLinks: [SocialLinkRow] # Repetidor anidado } “`
“`graphql type LandingPageFieldforge { pageSections: [PageSectionLayout] }
union PageSectionLayout = HeroLayout | FeaturesLayout | CTALayout “`
Consulta tipos de unión con fragmentos en línea:
“graphql query GetLandingPage { page(id: "landing", idType: URI) { fieldforge { pageSections { __typename ... on HeroLayout { title backgroundImage { sourceUrl } } ... on FeaturesLayout { sectionTitle features { title description } } } } } } “
Los campos relacionales (Post Object, Relationship, User, Taxonomy) se resuelven a los tipos nativos de WPGraphQL:
“graphql type ProductFieldforge { relatedProducts: [Post] # Tipo Post de WPGraphQL author: User # Tipo User de WPGraphQL categories: [Category] # Tipo Category de WPGraphQL } “
Esto significa que puedes encadenar consultas a través de relaciones:
“graphql query GetProduct { post(id: "product-a", idType: URI) { fieldforge { productDetails { relatedProducts { title slug featuredImage { node { sourceUrl } } fieldforge { productDetails { price } } } } } } } “
Los valores de los campos de la página de opciones se exponen como tipos GraphQL de nivel raíz:
“`graphql type FieldforgeOptions { siteSettings: SiteSettingsFields headerSettings: HeaderSettingsFields footerSettings: FooterSettingsFields }
type Query { fieldforgeOptions: FieldforgeOptions } “`
Consúltalos sin un contexto de publicación específico:
“graphql query GetGlobalSettings { fieldforgeOptions { siteSettings { companyName phone email } footerSettings { copyright socialLinks { platform url } } } } “
Field Forge también genera definiciones de TypeScript para los mismos grupos de campos. Usa ambos:
Los dos alimentan diferentes pipelines pero representan los mismos datos subyacentes del grupo de campos. Actualiza un grupo de campos en Field Forge y tanto el esquema GraphQL como las definiciones de TypeScript se actualizan juntos.
Para equipos que usan GraphQL Code Generator, puedes introspectar el esquema de WPGraphQL aumentado por Field Forge y auto-generar hooks de consulta tipados:
“`yaml
schema: https://wp.example.com/graphql documents: ‘./src/**/*.graphql’ generates: ./src/gql/: preset: client plugins: [] “`
Ejecuta graphql-codegen y tu frontend tendrá consultas GraphQL completamente tipadas para todos los campos de Field Forge.
WPGraphQL for ACF es un plugin separado del equipo de WPGraphQL que integra grupos de campos ACF en el esquema GraphQL. Funciona tanto con ACF como con SCF (ya que SCF es un fork de ACF).
Diferencias respecto a la integración nativa de Field Forge:
| Field Forge + WPGraphQL | WPGraphQL for ACF | |
|---|---|---|
| Instalación | Auto-registra en la activación de Field Forge | Plugin separado para instalar y configurar |
| Mantenimiento | Parte del ciclo de lanzamiento de Field Forge | Ciclo de lanzamiento independiente |
| Fuente de campos personalizados | Field Forge | ACF o SCF |
| Mapeo de tipos | Específico de Field Forge | Específico de ACF |
| Rendimiento | Carga por lotes integrada con la tabla personalizada de Field Forge | Depende del almacenamiento wp_postmeta |
Si estás en ACF/SCF y necesitas GraphQL, WPGraphQL for ACF es el camino. Si estás considerando modernizar la capa de campos personalizados, Field Forge + WPGraphQL reemplaza ambos plugins con una experiencia más integrada.
Obtén Field Forge — desde $35/año →
La integración con WPGraphQL está incluida en cada plan de pago. Se auto-registra en la activación, cero configuración.