Care sunt toți parametrii de interogare pentru getEntityRecords în WordPress?

10 feb. 2019, 14:34:06
Vizualizări: 18.1K
Voturi: 12

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.

0
Toate răspunsurile la întrebare 2
0
17

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
15 ian. 2020 06:49:39
0

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 ) :
                []
        };
[...]
7 mar. 2019 12:49:14