답변:
WP Rest API는 WP_Query에서 total count ( found_posts ) 특성을 보냅니다 . 헤더에서 호출 X-WP-Total
.
POST의 경우 : REST API의 게시물 엔드 포인트를 호출 할 수 있습니다 .
http://demo.wp-api.org/wp-json/wp/v2/posts
게시물 수 값은 헤더에로 반환됩니다 X-WP-Total
. 다음은 호스팅 데모의 샘플 응답입니다.
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
노트:
가져 오는 페이지 당 게시물 수를 1로 제한하여 게시물 수 를 얻기 위해 모든 워드 프레스 게시물을 얻지 못하도록 할 수 있습니다
http://demo.wp-api.org/wp-json/wp/v2/posts?per_page=1
다음에서 카테고리 엔드 포인트에 GET 요청을하면됩니다.
http://demo.wp-api.org/wp-json/wp/v2/categories
그러면 모든 범주가 반환되고 총 범주 수도 X-WP-Total
헤더 에서 찾을 수 있습니다 .
Ajax 요청에서 실제로 (포스트 카운트로) 헤더에 액세스하는 방법이 확실하지 않은 경우 jQuery .get으로 헤더를 수행하는 방법은 다음과 같습니다. 핵심은 콜백 함수에 헤더를 포함하는 요청을 포함하는 선택적 매개 변수가 있다는 것입니다.
$.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
});
질문의 일부에 답하십시오. 헤더에 리턴 된 포스트 wp rest api v2의 수 다음과 같은 가치를 얻을 수 있습니다.
headers('X-WP-Total')
페이지 당 게시물 수 :
wp-json/wp/v2/categories?page=1&per_page=5
Google 및 WordPress 또는 라이브러리 공식 문서를 통해 v2조차도 WP REST API로 게시물 수를 검색하는 데 몇 시간을 보냈지 만 불행히도 아무것도 얻지 못했습니다.
따라서 반환 된 JSON 배열 길이 가 0 이 될 때까지 페이지 번호가 증가하는 게시물을 가져 오려고 시도했습니다. 즉 , 카테고리에 게시물 이있는 페이지가 더 이상 없으며 페이지 번호 증가를 중단했습니다.
그러나 WP REST API로 페이지 당 임의의 수의 게시물 을 얻으려면 filter[posts_per_page]={$numberOfPosts}
요청을 보내는 동안 매개 변수를 쉽게 사용할 수 있습니다 .
도움이 되길 바랍니다.