Empezando
EmpezandoReemplazando la WP REST API

Reemplazando la WP REST API

Si tu aplicación utiliza la WP REST API, es posible usar Gato GraphQL en su lugar.

Con la extensión Persisted queries puedes publicar endpoints estilo REST, compuestos usando GraphQL.

Para cada uno de los endpoints REST de tu aplicación, puedes crear un endpoint de consulta persistida correspondiente que recupere los mismos datos, y usar ese endpoint en su lugar.

Por ejemplo, la siguiente consulta GraphQL puede reemplazar al endpoint REST /wp-json/wp/v2/posts/:

{
  posts {
    id
    date: dateStr(format: "Y-m-d\\TH:i:s")
    modified: modifiedDateStr(format: "Y-m-d\\TH:i:s")
    slug
    status
    link: url
    title: self {
      rendered: title
    }
    content: self {
      rendered: content
    },
    excerpt: self {
      rendered: excerpt
    }
    author
    featured_media: featuredImage
    sticky: isSticky
    categories
    tags
  }
}

Gracias a la jerarquía de API, la consulta persistida se publica bajo la ruta /graphql-query/wp/v2/posts/, facilitando el mapeo de endpoints.

Para replicar el endpoint REST /wp-json/wp/v2/posts/{id}/, que recupera datos para la entrada con un ID dado, podemos proporcionar el ID de la entrada bajo el parámetro de URL postId.

Por ejemplo, la siguiente consulta persistida puede invocarse en el endpoint /graphql-query/wp/v2/posts/single/?postId={id}:

query GetPost($postId: ID!) {
  post(by: { id: $postId }) {
    id
    date: dateStr(format: "Y-m-d\\TH:i:s")
    modified: modifiedDateStr(format: "Y-m-d\\TH:i:s")
    slug
    status
    link: url
    title: self {
      rendered: title
    }
    content: self {
      rendered: content
    },
    excerpt: self {
      rendered: excerpt
    }
    author
    featured_media: featuredImage
    sticky: isSticky
    categories
    tags
  }
}