Requêter les données WordPressDirectives
Directives
Les directives sont fournies via les extensions de Gato GraphQL. Voici quelques exemples seulement.
Directives d'opération
Créez un pipeline d'opérations via @depends, et exécutez l'une de ses opérations de façon conditionnelle, selon une valeur dynamique, via @skip et @include :
query CheckIfPostExists($id: ID!) {
# Initialiser la variable dynamique Ă `false`
postExists: _echo(value: false)
@export(as: "postExists")
post(by: { id: $id }) {
# Post trouvée => Définir la variable dynamique à `true`
postExists: _echo(value: true)
@export(as: "postExists")
}
}
mutation ExecuteOnlyIfPostExists
@depends(on: "CheckIfPostExists")
@include(if: $postExists)
{
# Faire quelque chose...
}Directives de champ
Transforme un champ en minuscules via @strLowerCase :
{
posts(pagination: { limit: 3 }) {
id
title @strLowerCase
}
}Fournit une valeur par défaut pour le champ via @default :
query GetFeaturedImages {
posts(pagination: { limit: 10 }) {
id
title
hasFeaturedImage
featuredImage @default(value: 1505) {
id
src
}
}
}Supprime la sortie du champ de la réponse via @remove :
query GetFeaturedImages {
posts(pagination: { limit: 10 }) {
id
title
hasFeaturedImage
featuredImage @remove(condition: IS_NULL) {
src
}
sourceFeaturedImage: featuredImage {
src
}
}
}Applique un function field sur une valeur de champ, via @passOnwards et @applyFunction :
{
posts {
id
hasComments
notHasComments: hasComments
@passOnwards(as: "postHasComments")
@applyFunction(
name: "_not"
arguments: {
value: $postHasComments
},
setResultInResponse: true
)
}
}