本文へ移動

用語集

WP_Query パラメーターposts_per_page

posts_per_page は、WP_Query で「1ページに何件取得するか」を決める基本的な引数です。3件だけ表示したい、10件ずつページ送りしたい、全件取得したいといった場面で使います。

Huddly Huddly 投稿日: 2026年8月15日 更新日: 2026年8月29日 読了目安: 5分

まず結論

posts_per_page は、WP_Query で1ページあたりに取得する投稿数を指定する引数です。3件表示したいなら 3、10件ずつ表示したいなら 10、全件取得したいなら -1 を指定できます。

posts_per_page は、WP_Query の中でも特によく使う引数です。記事一覧、関連記事、トップページの新着記事、カスタム投稿タイプの一覧など、「何件出すか」を決める場面で使います。

ただし、posts_per_page は「条件に合う投稿の総数」を指定する引数ではありません。1ページに何件取得するかを指定する引数です。ページネーションがある場合は、条件に合う投稿が30件あっても、posts_per_page が10なら1ページ目には10件だけ取得されます。

posts_per_page は何を指定する引数か

posts_per_page は、WP_Query で取得する投稿数を制御するための引数です。名前の通り、1ページあたりに何件の投稿を取得するかを指定します。

たとえば、トップページに新着記事を3件だけ表示したい場合は posts_per_page3 を指定します。記事一覧を10件ずつページ送りしたい場合は 10 を指定します。

ここで重要なのは、posts_per_page は「表示したい最大件数」として考えることです。条件に合う投稿が2件しかない場合、posts_per_page5 を指定しても、実際に取得されるのは2件です。

逆に、条件に合う投稿が100件ある場合でも、posts_per_page5 を指定すれば、通常は現在のページで5件だけ取得されます。総件数やページ数は、found_postsmax_num_pages など別の情報として確認します。

指定値意味よく使う場面
11件だけ取得する動作確認やピックアップ表示
33件取得するトップページの新着記事、関連記事の小さな一覧
1010件取得する一般的な記事一覧やページネーション付き一覧
-1条件に合う投稿を全件取得する件数が少ない前提の内部処理や管理用の一覧
未指定WordPress側の表示設定などが使われる場合がある意図せず件数が変わる原因になりやすい

posts_per_page と一緒に混同しやすい引数があります。特に posts_per_archive_pagepagedoffset は、表示件数やページ送りに関係するため、役割を分けて理解しておくと安全です。

posts_per_archive_page は、アーカイブページや検索結果などで関係する件数指定です。通常の一覧では posts_per_page を見ていても、アーカイブや検索結果だけ件数が違う場合は、posts_per_archive_page の影響を疑います。

paged は、現在何ページ目かを WP_Query に伝えるために使います。posts_per_page が「1ページに何件か」を決めるのに対して、paged は「今どのページか」を決める役割です。

offset は、先頭から何件か飛ばすための引数です。便利に見えますが、ページネーションと一緒に使うと、2ページ目以降の件数や投稿の続き方がずれやすくなります。表示件数がおかしい時は、offset を一度外して確認するのがおすすめです。

Builder での扱い

WP Query Builder では、posts_per_page は件数指定の基本項目として扱う想定です。post_typepost_status を決めた後に、何件取得するかを指定する流れにすると、初心者にも分かりやすくなります。

Builder の入力欄では、最初から大きな数や -1 を使わせるより、1件、3件、5件、10件のような小さい候補を用意すると安全です。確認用のクエリでは1件、カード一覧では3件、通常の一覧では10件のように、用途別に選べると迷いにくくなります。

Builder 側でページネーションを扱う場合は、posts_per_pagepaged をセットで考えます。posts_per_page だけでは、2ページ目、3ページ目の取得までは決まりません。

使いどころ・避けどころと実践確認

1ページに返す投稿件数を決め、表示密度やページ数を要件へ合わせる時に使います。

全件が必要か検討せず -1 にしたり、総件数そのものを変える指定だと考えたりしません。

固定表示投稿、offset、管理画面設定との関係で見える件数が変わるため、post_countfound_posts を分けます。

画面に10件出す設定と、条件に該当した総件数は別なので、post_countfound_posts を使い分けます。

設定値、取得できた投稿IDの数、post_countfound_postsmax_num_pages を同時に出力し、1〜2ページ目で比較します。

関連記事リンクのサムネイル

WordPressの仕様で確認するポイント

公式資料では、WP_Query の posts_per_page は Pagination Parameters の中で説明されています。1ページあたりの投稿数を指定する引数として確認できます。

また、未指定の場合に関係する表示設定は、WordPress のオプション値として扱われます。実装中に「コードでは件数を指定していないのに何件か表示される」場合は、管理画面の表示設定や、関連するオプション値を確認します。

公式リンク

公式ドキュメント

posts_per_page は、WP_Query の表示件数を決める基本的な引数です。ただし、指定した件数が必ず表示されるとは限りません。条件に合う投稿が少なければ、その件数までしか表示されません。

迷った時は、最小構成で1件だけ取得し、その後で件数を増やします。ページネーションがある場合は paged、アーカイブや検索結果だけ件数が違う場合は posts_per_archive_page、2ページ目以降がずれる場合は offset も確認します。

posts_per_page の最終チェック

  • posts_per_page は1ページあたりの取得件数だと理解している
  • 条件に合う投稿が指定件数以上あるか確認した
  • 未指定時に管理画面の表示設定が影響する可能性を確認した
  • 全件取得の -1 を本番一覧で安易に使っていない
  • ページネーションがある場合は paged も確認した
  • 2ページ目以降がずれる場合は offset の影響も確認した

公式リファレンス

仕様や原文の説明も確認したいときは、公式ドキュメントと整理ページをあわせて見ると理解しやすくなります。

この記事の検証情報

検証環境

WordPress
7.1
PHP
8.3.33
テーマ
wpq-media + DDEV
対象
カスタム投稿 / taxonomy / meta_query

更新履歴

  • 2026年5月31日 内容を増補し、v3 基準の glossary 構成に調整
  • 2026年5月26日 glossary 用の初回ドラフトを作成

この用語を活用する

あとで見返す・共有する

お気に入りに保存できます。役に立ったポイントは、いいねや共有で教えてください。

他の用語も続けて確認できます

似た用語や周辺知識をまとめて見たいときは、用語集トップから探すと迷いにくくなります。

用語集トップを見る