Trabajando con
Trabajando conEtiquetas personalizadas

Etiquetas personalizadas

Podemos añadir etiquetas a las entradas en WordPress (es decir, utilizando la taxonomía con nombre "post_tag"). Esto ya está mapeado en el esquema GraphQL mediante el tipo PostTag, asociado a una entrada Post.

Del mismo modo, un tipo de entrada personalizado, definido por cualquier theme o plugin (como "product"), puede tener su propia taxonomía de etiqueta asociada (como "product-cat"). Como estos tipos de entrada personalizados no están mapeados en el esquema GraphQL, se resuelven mediante el tipo GenericCustomPost, y sus etiquetas se resuelven como GenericTag.

Utilizamos los campos tag y tags para obtener los datos de las etiquetas, los cuales indican a qué taxonomía hacen referencia mediante el argumento taxonomy. El resultado es del tipo unión TagUnion, que incluye entradas tanto de PostTag como de GenericTag (dependiendo de la taxonomía de la entrada).

Por ejemplo, esta consulta recupera etiquetas con la taxonomía "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 el acceso a taxonomías de etiquetas no mapeadas

Las taxonomías de etiquetas accesibles mediante el tipo GenericTag deben configurarse explícitamente en la página de Ajustes del plugin, como se explica en la guía Añadir una taxonomía de etiqueta personalizada al esquema.