Catégories personnalisées
Nous pouvons ajouter des catégories aux publications dans WordPress (c'est-à-dire en utilisant la taxonomie avec le nom "category"). Cela est déjà mappé dans le schéma GraphQL via le type PostCategory, associé à une entrée Post.
De même, un type de publication personnalisé, défini par un thème ou un plugin (comme "product"), peut avoir sa propre taxonomie de catégorie associée (comme "product-cat"). Comme ces types de publication personnalisés ne sont pas mappés dans le schéma GraphQL, ils sont résolus via le type GenericCustomPost, et leurs catégories sont résolues en tant que GenericCategory.
Nous utilisons les champs category et categories pour récupérer les données des catégories, qui indiquent à quelle taxonomie ils font référence via l'argument de champ taxonomy. Le résultat est du type union CategoryUnion, qui inclut des entrées de PostCategory ou de GenericCategory (selon la taxonomie de l'entrée).
Par exemple, cette requête récupère des catégories avec la taxonomie "product-category" :
query {
categories(taxonomy: "product-category") {
__typename
...on Category {
count
description
id
name
slug
url
}
...on GenericCategory {
taxonomy
customPostCount
customPosts {
__typename
...on CustomPost {
id
title
}
}
}
}
}Autoriser l'accès aux taxonomies de catégories non mappées
Les taxonomies de catégories accessibles via le type GenericCategory doivent être explicitement configurées dans la page des réglages du plugin, comme expliqué dans le guide Ajouter une taxonomie de catégorie personnalisée au schéma.