Работа с
Работа сПользовательские категории

Пользовательские категории

Мы можем добавлять категории к записям в 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, должны быть явно настроены на странице настроек плагина, как описано в руководстве Добавление пользовательской таксономии категорий в схему.