Categorías personalizadas
Podemos añadir categorías a las entradas en WordPress (es decir, utilizando la taxonomía con nombre "category"). Esto ya está mapeado en el esquema GraphQL mediante el tipo PostCategory, 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 categoría 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 categorías se resuelven como GenericCategory.
Utilizamos los campos category y categories para obtener los datos de las categorías, los cuales indican a qué taxonomía hacen referencia mediante el argumento taxonomy. El resultado es del tipo unión CategoryUnion, que incluye entradas tanto de PostCategory como de GenericCategory (dependiendo de la taxonomía de la entrada).
Por ejemplo, esta consulta recupera categorías con la taxonomía "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
}
}
}
}
}Permitir el acceso a taxonomías de categorías no mapeadas
Las taxonomías de categorías accesibles mediante el tipo GenericCategory 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 categoría personalizada al esquema.