ページネーション

2020.03.21 2020.03.21

TOPICS

翻訳元記事はこちらです。

WordPressで作成したサイトはたくさんの内容を作成することができます。一回のリクエストであなたが取得したいと思うよりもはるかに多く。
APIのエンドポイントは、1回のリクエストで取得できるアイテムの数をデフォルトで制限しています。同樣に、WordPressのサイトもアーカイブページでは、1ページにつき10投稿にデフォルトで制限しています。

ページネーションのパラメーター

複数のリソースを持つAPIのレスポンスは、レスポンスデータを通じてページングをコントロールするために、いくつか共通のクエリーパラメーターをサポートしています。

?page=

結果として返すページ番号を指定します。

?per_page=

1回のリクエストで返すレコードの数を指定します。数値で1〜100までを指定できます。

?offset=

投稿を取得したい任意のオフセットを指定できます。

大きなクエリーは、サイトのパフォーマンスに影響を与えるため、per_pageパラメーターの値は100レコードに制限されています。
もし、100レコード以上を取得したい場合は、例えば、クライアントサイドですべてのカテゴリーをリストアップして、複数のAPIのリクエストを作成して、結果を合わせるといった方法もあります。

何ページ利用できるか決定するために、APIはすべてのページネーションのレスポンスに2つのヘッダーを返します。

これらのヘッダーの値を見ることによって、APIを使ってあとどれだけのデータを取得できるか決定できます。

結果の並び替え

上記のページネーションのクエリーパラメーターに加えて、結果の順序を制御するためのパラメーターもいくつかあります。

?order=

結果を昇順・降順のどちらで返すか制御します。

?orderby=

データをどの順でソートするか制御します。