Пользовательские категории
Мы можем добавлять категории к записям в WordPress (то есть используя таксономию с именем "category"). Это уже отображено в схеме GraphQL с помощью типа PostCategory, связанного с записью Post.
Точно так же пользовательский тип записи, определённый любой темой или плагином (например, "product"), может иметь собственную таксономию категорий (например, "product-cat"). Поскольку эти пользовательские типы записей не отображены в схеме GraphQL, они разрешаются через тип GenericCustomPost, а их категории разрешаются как GenericCategory.
Мы используем поля category и categories для получения данных категорий, которые указывают, к какой таксономии они относятся, с помощью аргумента поля taxonomy. Результат имеет тип объединения CategoryUnion, который включает записи либо PostCategory, либо GenericCategory (в зависимости от таксономии записи).
Например, этот запрос извлекает категории с таксономией "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
}
}
}
}
}Разрешение доступа к неотображённым таксономиям категорий
Таксономии категорий, доступные через тип GenericCategory, должны быть явно настроены на странице настроек плагина, как описано в руководстве Добавление пользовательской таксономии категорий в схему.