Obține numărul de articole în wp rest API v2 și toate categoriile
Vreau să obțin numărul total al articolelor mele. Cred că folosirea
wp-json/wp/v2/categories?page=1 >> count ar fi o modalitate bună de a proceda. Dar folosind soluția de mai sus nu este optimă din punct de vedere al vitezei și nu știu cum să obțin toate categoriile printr-un singur apel (ar fi foarte util dacă ai putea împărtăși această informație). Există vreo modalitate/tutorial/... care să-mi permită să adaug numărul de articole într-un apel principal? ca în această rută: wp-json/wp/v2/posts....
API-ul WP Rest trimite proprietatea numărului total (found_posts) din WP_Query într-un antet numit X-WP-Total
.
PENTRU POSTĂRI: poți face un apel către endpoint-ul de postări al API-ului REST
http://demo.wp-api.org/wp-json/wp/v2/posts
Valoarea pentru numărul de postări este returnată în antet ca X-WP-Total
. Mai jos este un răspuns exemplu de pe demo-ul gazduit
Access-Control-Allow-Headers:Authorization, Content-Type
Access-Control-Expose-Headers:X-WP-Total, X-WP-TotalPages
Allow:GET
Cache-Control:max-age=300, must-revalidate
Connection:keep-alive
Content-Encoding:gzip
Content-Type:application/json; charset=UTF-8
Date:Wed, 28 Dec 2016 12:48:50 GMT
Last-Modified:Wed, 28 Dec 2016 12:48:50 GMT
Link:<https://demo.wp-api.org/wp-json/wp/v2/posts?page=2>; rel="next"
Server:nginx/1.4.6 (Ubuntu)
Transfer-Encoding:chunked
Vary:Cookie
Via:1.1 dfa2cbb51ec90b28f03125592b887c7d.cloudfront.net (CloudFront)
X-Amz-Cf-Id:ri4C3e-AdixwqGv_wYNdGRq9ChsIroy1Waxe2GqkiTqbk4CpiSIQfw==
X-Batcache:MISS
X-Cache:Miss from cloudfront
X-Content-Type-Options:nosniff
X-EC2-Instance-Id:i-198c7e94
X-Powered-By:PHP/7.0.11-1+deb.sury.org~trusty+1
X-Robots-Tag:noindex
X-WP-Total:71
X-WP-TotalPages:8
NOTĂ:
Poți limita și numărul de postări pe pagină pe care le preiei la 1, astfel încât să nu obții toate postările din WordPress doar pentru a afla numărul total
http://demo.wp-api.org/wp-json/wp/v2/posts?per_page=1
Pentru a Obține Toate Categoriile
Tot ce trebuie să faci este să faci o cerere GET către endpoint-ul de categorii la:
http://demo.wp-api.org/wp-json/wp/v2/categories
Aceasta va returna toate categoriile, iar numărul total de categorii poate fi găsit în antetul X-WP-Total
.

În cazul în care nu este clar cum să accesezi efectiv header-ul (cu numărul de postări) din cererea Ajax, urmează cum se poate face folosind jQuery .get. Cheia este că funcția de callback are un parametru opțional care conține request-ul, inclusiv headerele.
$.get( 'http://demo.wp-api.org/wp-json/wp/v2/posts', function( data, status, request ) {
numPosts = request.getResponseHeader('x-wp-total');
console.log( numPosts ); //afișează numărul de postări în consolă
});

Am petrecut ore întregi căutând modalități de a obține numărul de articole prin intermediul WP REST API, inclusiv versiunea 2, folosind Google, documentația WordPress sau documentația oficială a bibliotecii, dar din păcate nu am găsit nimic.
Așa că am încercat să obțin articolele crescând numărul paginii până când lungimea array-ului JSON returnat a devenit 0, ceea ce înseamnă că nu mai există pagină cu articole în acea categorie, și am oprit creșterea numărului de pagină.
Dar dacă doriți să obțineți un număr arbitrar de articole pe pagină cu WP REST API, puteți folosi cu ușurință parametrul filter[posts_per_page]={$numberOfPosts}
în timp ce trimiteți cererea.
Sper că vă este de folos.
