Care sunt toți parametrii de interogare pentru getEntityRecords în WordPress?
Lucrez la un plugin care definește un bloc personalizat pentru Gutenberg/Block Editor. Blocul afișează o casetă select
cu postări. Când selectezi una, creez HTML cu unele câmpuri ale postării selectate, cum ar fi titlul, data etc.
Când interoghez postările în metoda edit
, codul meu produce corect o listă de pagini (în cazul meu, un tip de postare personalizat numit product
), dar câmpurile personalizate pe care le are acest tip de postare nu sunt incluse.
var pages = select('core').getEntityRecords('postType', 'product', { per_page: -1 });
Încerc să găsesc documentație despre parametrii de interogare pentru getEntityRecords
, dar se pare că nu există. Este posibil să includ câmpuri personalizate în interogare? Ai crede că acest lucru ar trebui explicat pe https://wordpress.org/gutenberg/handbook/designers-developers/developers/data/data-core/#getentityrecords
Singura mea altă idee a fost: când blocul este salvat ("în timpul" metodei save
), este posibil să fac o altă interogare care selectează doar postarea individuală după ID și să obțin datele acesteia, poate inclusiv câmpurile personalizate? Se pare că nu pot interoga nimic în timpul salvării.

Dacă te uiți în codul sursă pentru getEntityRecords
, vei vedea că biblioteca core/data
creează entități folosind API-ul WordPress în entities.js.
Deci poți folosi orice parametru disponibil în REST API. Iată opțiunile pentru articole:
context
page
per_page
search
after
author
author_exclude
before
exclude
include
offset
order
orderby
slug
status
categories
categories_exclude
tags
tags_exclude
sticky

Documentația Gutenberg nu este încă finalizată, dar există unele comenzi nelansate în repository-ul oficial Gutenberg. Acest lucru ar putea ajuta: 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 ) :
[]
};
[...]
