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