回答:
WP Rest APIは、WP_Queryから合計count(found_posts)プロパティを送信します。と呼ばれるヘッダー内X-WP-Total
。
投稿の場合: 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
次のURLで、カテゴリエンドポイントに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またはライブラリの公式ドキュメントを介してWP REST API v2でも投稿数を取得するために何時間も費やしてきましたが、残念ながら何も思いつきませんでした。
したがって、返されたJSON配列の長さが0になるまでページ番号を増やして投稿を取得しようとしました。これは、カテゴリに投稿を持つページがなくなることを意味し、ページ番号の増加を停止しました。
しかし、WP REST APIを使用してページごとに任意の数の投稿を取得したい場合はfilter[posts_per_page]={$numberOfPosts}
、リクエストを送信するときにパラメーターを簡単に使用できます。
それが役に立てば幸い。