Trabajando con
Trabajando conCategorías personalizadas

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.