Wordpress REST API V2: cum să obții lista tuturor postărilor?
Am nevoie să obțin o listă cu toate postările dintr-o anumită categorie. Numărul de postări este mai mare de 100. Nu am nevoie de conținutul postărilor. Am nevoie doar de ID și slug.
https://example.com/wp-json/wp/v2/posts/
returnează doar 10 postări cu conținut.
Este posibil să obțin toate postările fără conținut?

Din cutie și folosind cârligele și API-urile disponibile în nucleu, nu poți avea mai mult de 100 de articole per răspuns în WordPress REST API din motive de performanță. Pentru a doua parte a întrebării, poți elimina câteva câmpuri din răspuns folosind parametrul _fields
în cererea ta, așa cum poți vedea în exemplele din manual:
// opțiunea a: folosind nume de câmpuri separate prin virgulă.
https://example.com/wp-json/wp/v2/posts/?_fields=author,id,excerpt,title,link
// opțiunea b: folosind sintaxa de array.
https://example.com/wp-json//wp/v2/posts?_fields[]=author&_fields[]=id&_fields[]=excerpt&_fields[]=title&_fields[]=link
Și teoretic, dacă deții website-ul, ai putea elimina câmpuri din răspunsul API folosind filtrul dinamic rest_prepare_{$this->post_type}
pentru tipul/tipurile de postări pe care dorești să le modifici.
if(!function_exists('wpse_382314_post_filter_data')) :
function wpse_382314_post_filter_data($response, $post) {
$response->data['post_title'] = '';
$response->data['post_content'] = '';
}
}
add_filter('rest_prepare_post', 'wpse_382314_post_filter_data', 10, 3);

În primul rând, pentru a obține mai mult de 10 articole, tot ce trebuie să faci este să furnizezi parametrul per_page
.
https://example.com/wp-json/wp/v2/posts/?per_page=100
Dar da, uneori pot exista mii de articole, iar în acest caz nu este o idee bună să le obții pe toate într-un singur apel REST API. Putem combina două cereri folosind atât parametrul per_page
, cât și page
,
https://example.com/wp-json/wp/v2/posts/?per_page=100&page=1
https://example.com/wp-json/wp/v2/posts/?per_page=100&page=2
sau poți găsi și exemplul cu PHP și WordPress HTTP API aici: https://rudrastyh.com/wordpress/rest-api-get-posts.html#parameters
