Запрос «чувствительных» полей данных
Схема GraphQL должна соблюдать баланс между публичными и приватными полями, чтобы не раскрывать личную информацию в публичном API.
По умолчанию все поля схемы GraphQL могут обращаться только к публичным данным. Например, posts может получать только записи со статусом "publish".
Кроме того, можно добавить в схему «чувствительные» поля данных и поля ввода, предназначенные исключительно для администратора, включённые для конкретного custom endpoint или persisted query, которые также могут получать приватные данные.
Например, аргумент поля posts(filter:) будет содержать дополнительное input field status, позволяющее получать неопубликованные записи (напр.: записи со статусом "pending", "draft" или "trash") для любого пользователя. Аналогично, схема будет раскрывать поле Post.status для отображения этого значения.
Список «чувствительных» элементов данных
Перечисленные ниже элементы (среди прочих) по умолчанию считаются приватными данными:
User:
emailrolescapabilitiesmetaKeys
Custom Posts:
statuswpAdminEditURLhasPasswordpasswordrawContentrawTitlerawExcerptmetaKeys
Comments:
statusrawContentmetaKeys
Taxonomies:
metaKeys
Custom Post Mutations:
- input
authorBy
Menu Items:
rawTitle
Переопределение конфигурации по умолчанию
Перечисленные выше элементы могут быть сделаны публичными.
На странице настроек, на соответствующей вкладке для каждого из них, есть флажок, позволяющий указать, следует ли считать их «чувствительными» или «обычными»:

Просмотр «чувствительных» элементов данных через интроспекцию схемы
Свойство isSensitiveDataElement добавляется к полю extensions при выполнении интроспекции схемы. Чтобы узнать, какие элементы данных в схеме являются «чувствительными», выполните этот запрос:
query ViewSensitiveDataElements {
__schema {
types {
name
fields {
name
extensions {
isSensitiveDataElement
}
args {
name
extensions {
isSensitiveDataElement
}
}
}
inputFields {
name
extensions {
isSensitiveDataElement
}
}
enumValues {
name
extensions {
isSensitiveDataElement
}
}
}
}
}Затем найдите в результатах записи с "isSensitiveDataElement": true.
Добавление «чувствительных» элементов данных к endpoints
Добавление «чувствительных» элементов данных в схему настраивается следующим образом, в порядке приоритета:
✅ Конкретный режим для custom endpoint или persisted query, заданный в конфигурации схемы

✅ Режим по умолчанию, заданный в настройках
Если конфигурация схемы имеет значение "Default", будет использоваться режим, определённый в настройках:

Когда использовать
Используйте всякий раз, когда допускается раскрытие приватной информации, — например, при создании статического сайта, получающего данные из локального экземпляра WordPress (то есть не через публичный API).