Quali sono tutti i parametri di query per getEntityRecords?
Sto lavorando a un plugin che definisce un blocco personalizzato per l'editor Gutenberg/Block. Il blocco mostra una casella select
di articoli. Quando ne selezioni uno, genero HTML con alcuni campi dell'articolo selezionato, come titolo, data, ecc.
Quando interrogo i miei articoli nel metodo edit
, il mio codice produce correttamente un elenco di pagine (nel mio caso, un custom post type chiamato product
), ma i campi personalizzati, che questo post type ha, non sono inclusi.
var pages = select('core').getEntityRecords('postType', 'product', { per_page: -1 });
Sto cercando di trovare documentazione sui parametri di query di getEntityRecords
, ma sembra non essercene. È possibile includere campi personalizzati nella query? Penseresti che questo dovrebbe essere spiegato su https://wordpress.org/gutenberg/handbook/designers-developers/developers/data/data-core/#getentityrecords
La mia unica altra idea era: quando il blocco viene salvato ("durante" il metodo save
), è possibile fare un'altra query che seleziona solo il singolo post per ID e recupera i suoi dati, magari includendo i campi personalizzati? Sembra che non possa interrogare nulla durante il salvataggio.

Se esamini il codice sorgente di getEntityRecords
, vedrai che la libreria core/data
crea entità utilizzando l'API di WordPress in entities.js.
Quindi puoi utilizzare qualsiasi parametro disponibile nella REST API. Ecco le opzioni per i post:
context
page
per_page
search
after
author
author_exclude
before
exclude
include
offset
order
orderby
slug
status
categories
categories_exclude
tags
tags_exclude
sticky

La documentazione di Gutenberg non è ancora completa, ma ci sono alcuni commit non rilasciati nel repository ufficiale di Gutenberg. Questo potrebbe aiutare: 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 ) :
[]
};
[...]
