Trabalhando com
Trabalhando comCategorias personalizadas

Categorias personalizadas

Podemos adicionar categorias a posts no WordPress (ou seja, usando a taxonomia com o nome "category"). Isso já está mapeado no schema GraphQL por meio do tipo PostCategory, associado a uma entrada Post.

Da mesma forma, um tipo de post personalizado, definido por um tema ou plugin (como "product"), pode ter sua própria taxonomia de categoria associada (como "product-cat"). Como esses tipos de post personalizados não estão mapeados no schema GraphQL, eles são resolvidos via tipo GenericCustomPost, e suas categorias são resolvidas como GenericCategory.

Usamos os campos category e categories para buscar dados de categorias, que indicam a qual taxonomia se referem por meio do argumento de campo taxonomy. O resultado é do tipo união CategoryUnion, que inclui entradas de PostCategory ou GenericCategory (dependendo da taxonomia da entrada).

Por exemplo, esta query recupera categorias com a taxonomia "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
        }
      }
    }
  }
}

Permitindo acesso a taxonomias de categorias não mapeadas

As taxonomias de categorias acessíveis por meio do tipo GenericCategory devem ser configuradas explicitamente na página de Configurações do plugin, conforme explicado no guia Adicionando uma taxonomia de categoria personalizada ao schema.