Какие параметры запроса доступны для getEntityRecords в Gutenberg?
Я работаю над плагином, который определяет пользовательский блок для Gutenberg/Block Editor. Блок отображает поле select
с записями. При выборе записи я создаю HTML с некоторыми полями выбранной записи, такими как заголовок, дата и т.д.
Когда я делаю запрос к записям в методе edit
, мой код корректно выводит список страниц (в моем случае это пользовательский тип записи product
), но произвольные поля, которые есть у этого типа записи, не включаются.
var pages = select('core').getEntityRecords('postType', 'product', { per_page: -1 });
Я пытаюсь найти документацию по параметрам запроса getEntityRecords
, но кажется, её нет. Можно ли включить произвольные поля в запрос? Казалось бы, это должно быть объяснено на https://wordpress.org/gutenberg/handbook/designers-developers/developers/data/data-core/#getentityrecords
Единственная другая идея: когда блок сохраняется ("во время" метода save
), возможно ли сделать еще один запрос, который просто выбирает одну запись по ID и получает её данные, возможно, включая произвольные поля? Похоже, я не могу делать запросы во время сохранения.

Если вы посмотрите исходный код функции getEntityRecords
, то увидите, что библиотека core/data
создает сущности с использованием WordPress API в файле entities.js.
Таким образом, вы можете использовать любые параметры, доступные в REST API. Вот доступные опции для записей (posts):
context
page
per_page
search
after
author
author_exclude
before
exclude
include
offset
order
orderby
slug
status
categories
categories_exclude
tags
tags_exclude
sticky

Документация по Гутенбергу еще не завершена, но есть некоторые незавершенные коммиты в официальном репозитории Гутенберга. Это может помочь: https://github.com/WordPress/gutenberg/blob/b7ad77d15f32ca234ff2f3df4994e47a5cf2e6d7/packages/editor/src/components/page-attributes/README.md
[...]
var query = {
per_page: -1,
exclude: postId,
parent_exclude: postId,
orderby: 'menu_order',
order: 'asc',
status: 'publish,future,draft,pending,private',
};
return {
parentItems: isHierarchical ?
selectCore.getEntityRecords( 'postType', postTypeSlug, query ) :
[]
};
[...]
