web-dev-qa-db-ja.com

Wp rest API v2で投稿数を取得し、すべてのカテゴリを取得します

投稿数を取得したい。使うと思う

wp-json/wp/v2/categories?page = 1 >> countこれは良い方法です。しかし、上記の解決策を使用することはスピードの面でお茶のカップではなく、私は一回の呼び出しですべてのカテゴリを取得する方法がわかりません(あなたがそれを共有すればとても役に立つでしょう)/tutorial/...メインコールで投稿数を追加できるようにする方法はありますか?このルートのように:wp - json/wp/v2/posts ....

9
mil

WP Rest APIは、WP_Queryからtotal count( found_posts )プロパティを送信します。X-WP-Totalというヘッダーに。

投稿用: REST AP​​Iの投稿エンドポイントに電話をかけることができます

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ヘッダーにあります。

18
Tunji

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
});
4
mgtech

あなたの質問の一部に答えてみてください。ヘッダーに返されたポストwp rest api v2の数。あなたはこのような価値を得ることができます:

headers('X-WP-Total')

ページごとの投稿数を数える:

wp-json/wp/v2/categories?page=1&per_page=5
1
DARK_DIESEL

GoogleやWordPress、あるいは図書館の公式文書からv2でもWP REST AP​​Iで投稿数を探すのに何時間も費やしましたが、残念ながら何も思い付きませんでした。

そのため、返されるJSON配列の長さが)になるまでページ番号を増やしながら投稿を取得してみたところ、カテゴリに投稿があるページはこれ以上なくなり、ページ数の増加は停止しました)。

しかし、任意の数の1ページあたりの投稿数with WP REST AP​​Iを取得する場合は、要求の送信中にfilter[posts_per_page]={$numberOfPosts}パラメータを簡単に使用できます。

それが役に立てば幸い。

0
Sdghasemi