Travailler avec
Travailler avecCatégories personnalisées

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.