Uzyskaj liczbę wpisów w wp rest API v2 i uzyskaj wszystkie kategorie

10

Chcę uzyskać liczbę moich postów. Myślę, że użyj

wp-json / wp / v2 / Categories? page = 1 >> liczyć, że to dobra droga. Ale użycie powyższego rozwiązania nie jest filiżanką herbaty pod względem szybkości i nie wiem, jak uzyskać wszystkie kategorie za pomocą jednego połączenia (jeśli wiesz, że byłoby to bardzo pomocne, jeśli podzielisz się nim). czy jest jakiś sposób / tutorial / ... pozwala mi dodać liczbę postów w głównej rozmowie? jak ta trasa: wp-json / wp / v2 / posts ....

tysiąc
źródło

Odpowiedzi:

21

WP Rest API wysyła właściwość total count ( found_posts ) z WP_Query. w nagłówku o nazwie X-WP-Total.

DLA POSTÓW: możesz wykonać wywołanie do punktu końcowego postów interfejsu API REST

http://demo.wp-api.org/wp-json/wp/v2/posts

Wartość liczby postów jest zwracana w nagłówku jako X-WP-Total. Poniżej znajduje się przykładowa odpowiedź z hostowanej wersji demo

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

UWAGA:

Możesz także ograniczyć liczbę postów na stronie, którą pobierasz, do 1, aby nie otrzymywać wszystkich postów z WordPressa tylko po to, by policzyć posty

http://demo.wp-api.org/wp-json/wp/v2/posts?per_page=1

Aby uzyskać wszystkie kategorie

Wszystko, co musisz zrobić, to wysłać żądanie GET do punktu końcowego kategorii pod adresem:

http://demo.wp-api.org/wp-json/wp/v2/categories

Zwróci to wszystkie kategorie, a także całkowitą liczbę kategorii można znaleźć w X-WP-Totalnagłówku.

Tunji
źródło
7

W przypadku, gdy nie jest jasne, jak faktycznie uzyskać dostęp do nagłówka (z liczbą postów) z żądania Ajax, poniżej opisano, jak to zrobić za pomocą jQuery .get. Kluczem jest to, że funkcja zwrotna ma opcjonalny parametr zawierający żądanie, który obejmuje nagłówki.

$.get( 'http://demo.wp-api.org/wp-json/wp/v2/posts', function( data, status, request ) {
numPosts = request.getResponseHeader('x-wp-total');
console.log( numPosts ); //outputs number of posts to console
});
mgtech
źródło
1

Spróbuj odpowiedzieć na część pytania. Liczba postów WP Rest API v2 zwróconych w nagłówkach. Możesz uzyskać wartość czegoś takiego:

headers('X-WP-Total')

Policz posty na stronie:

wp-json/wp/v2/categories?page=1&per_page=5
DARK_DIESEL
źródło
0

Spędziłem godziny na szukaniu liczby postów z WP REST API nawet v2 przez Google i WordPress lub oficjalne dokumenty biblioteki, ale niestety nic nie wymyśliłem.

Dlatego starałem się posty ze wzrostem numeru strony, aż wrócił JSON długość tablicy staje 0 , co oznacza, że znajduje się nie więcej strona z postami od kategorii i zatrzymał zwiększenie liczby stron.

Ale jeśli chcesz uzyskać dowolną liczbę postów na stronę za pomocą WP REST API, możesz łatwo użyć filter[posts_per_page]={$numberOfPosts}parametru podczas wysyłania żądania.

Mam nadzieję, że to pomoże.

Sdghasemi
źródło