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

複数のリソースを含むAPIレスポンスは、レスポンスデータをページングするためのいくつかの一般的なクエリパラメータをサポートしています:

  • ?page=: 返す結果のページを指定します。
    • 例えば、/wp/v2/posts?page=2は投稿結果の2ページ目です。
    • /wp/v2/posts、次に/wp/v2/posts?page=2を取得することで、APIを通じて利用可能なすべての投稿に1ページずつアクセスできます。
  • ?per_page=: 1回のリクエストで返すレコードの数を指定します。これは1から100の整数で指定されます。
    • 例えば、/wp/v2/posts?per_page=1はコレクション内の最初の投稿のみを返します。
  • ?offset=: 投稿の取得を開始する任意のオフセットを指定します。

    • 例えば、/wp/v2/posts?offset=6はページごとの投稿数のデフォルトを使用しますが、コレクション内の6番目の投稿から開始します。
    • ?per_page=5&page=4?per_page=5&offset=15と同等です。

    大きなクエリはサイトのパフォーマンスに悪影響を及ぼす可能性があるため、per_page100レコードに制限されています。 100レコード以上を取得したい場合、例えばすべての利用可能なカテゴリのクライアントサイドリストを構築するためには、複数のAPIリクエストを行い、アプリケーション内で結果を結合することができます。

利用可能なデータのページ数を確認するために、APIはすべてのページネートレスポンスに2つのヘッダーフィールドを返します:

  • X-WP-Total: コレクション内のレコードの総数
  • X-WP-TotalPages: 利用可能なすべてのレコードを含むページの総数

これらのヘッダーフィールドを調べることで、API内でどれだけのデータが利用可能かを判断できます。

結果の順序

上記のページネーションクエリパラメータに加えて、返される結果の順序を制御するいくつかの他のパラメータがあります:

  • ?order=: 結果が昇順または降順で返されるかを制御します。
    • 有効な値は?order=asc(昇順の場合)と?order=desc(降順の場合)です。
    • すべてのネイティブコレクションはデフォルトで降順で返されます。
  • ?orderby=: コレクションがソートされるフィールドを制御します。
    • orderbyの有効な値は、クエリされたリソースによって異なります。/wp/v2/postsコレクションの場合、有効な値は「日付」、「関連性」、「ID」、「含む」、「タイトル」、および「スラッグ」です。
    • 他のコレクションでサポートされている値については、REST APIリファレンスを参照してください。
    • 日付リソースを持つすべてのコレクションはorderby=dateにデフォルト設定されています。