Настройка плагина
Настройка плагинаДобавление пользовательской таксономии категорий в схему

Добавление пользовательской таксономии категорий в схему

В WordPress мы можем добавлять категории к записям (то есть использовать таксономию с именем "category"). Это уже отображено в схеме GraphQL через тип PostCategory, связанный с записью Post.

Типы записей (Custom Post Types), определённые любой темой или плагином (например, "product"), также могут иметь собственную таксономию категорий (например, "product-cat"). Поскольку эти таксономии категорий не поставляются с собственным специфическим типом для схемы GraphQL (для этого потребовалось бы расширение через PHP-код), они разрешаются через тип GenericCategory.

Мы используем поля category и categories для получения данных о категориях, которые указывают, к какой таксономии они относятся, через аргумент поля taxonomy. Результат имеет тип объединения CategoryUnion, включающий записи как из PostCategory, так и из GenericCategory (в зависимости от таксономии записи).

Тип CategoryUnion

Настройка запрашиваемых таксономий категорий

Таксономии категорий, которые можно запрашивать, необходимо явно настроить. Это можно сделать в 2 местах.

В конфигурации схемы, применённой к endpoint, выбрав опцию "Use custom configuration" в разделе «Customize configuration, or use default from Settings?», а затем выбрав нужные элементы:

Выбор разрешённых таксономий категорий в конфигурации схемы

Этот список содержит все «иерархические» таксономии, связанные с запрашиваемыми пользовательскими типами записей, то есть теми, что выбраны в «Included custom post types» в настройках раздела «Custom Posts». Пользовательские типы записей, связанные с каждой таксономией категорий, отображаются под (CPT: ...). Если нужная вам таксономия категорий здесь не отображается, убедитесь, что все связанные с ней пользовательские типы записей включены в этот список разрешённых.

В противном случае, если выбрана опция "Use configuration from Settings", используется значение, определённое в разделе «Included category taxonomies» на странице настроек Schema Custom Posts:

Выбор разрешённых таксономий категорий в настройках
Выбор разрешённых таксономий категорий в настройках

Дополнительная настройка

Через настройки Schema Categories можно также задать:

  • Количество элементов по умолчанию для получения (то есть когда аргумент поля limit не задан) при запросе списка любой таксономии категорий
  • Максимальное количество элементов, которые можно получить за одно выполнение запроса
Настройки лимитов для категорий
Настройки лимитов для категорий