Trabalhando com
Trabalhando comTags personalizadas

Tags personalizadas

Podemos adicionar tags a posts no WordPress (ou seja, usando a taxonomia com nome "post_tag"). Isso já está mapeado no esquema GraphQL por meio do tipo PostTag, associado a uma entrada Post.

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

Usamos os campos tag e tags para buscar dados de tags, que indicam a qual taxonomia fazem referência por meio do argumento de campo taxonomy. O resultado é do tipo união TagUnion, que inclui entradas de PostTag ou GenericTag (dependendo da taxonomia da entrada).

Por exemplo, esta query recupera tags com a taxonomia "product-tag":

query {
  tags(taxonomy: "product-tag") {
    __typename
 
    ...on Tag {
      count
      description
      id
      name
      slug
      url
    }
    
    ...on GenericTag {
      taxonomy   
      customPostCount
      customPosts {
        __typename
        ...on CustomPost {
          id
          title
        }
      }
    }
  }
}

Permitir acesso a taxonomias de tags não mapeadas

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