本文へ移動

用語集

WP_Query パラメーターpost__in

`post__in` は、指定した投稿 ID のみを取得対象に絞り込むパラメーターです。

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

まず結論

post__in は、指定した投稿IDだけを取得対象にする WP_Query 引数です。IDの配列を渡します。

配列に書いた順で表示したい場合は、orderby => ‘post__in’ も必要です。対象を選ぶことと順番を保つことは別です。

どういう時に使うか

編集画面で選んだおすすめ記事、外部処理が返した投稿ID、手動で確定した掲載候補などをまとめて取得する時に使います。

空配列を渡した時の挙動を『0件になる』と決めつけないでください。呼び出し前に空かを判定し、クエリ自体を実行しない方が確実です。

IDは整数へ整形し、閲覧権限や post_status の条件も別に確認します。IDがあるだけで公開可能とは限りません。

近い引数との違い

post__in は含めるID、post__not_in は除外するIDです。WP_Query では両方を同じクエリへ併用できません。

orderby => ‘post__in’ は、指定したID配列の順序を並び順として使う指定です。post__in 単独ではその順序は保証されません。

Builderでの扱い

WP Query Builder ではIDを複数入力できます。空欄や0、重複IDを整理してから配列へ出力します。

手動順を使う選択肢を出す場合は、orderby=post__in もセットで生成されることを画面に示します。

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

選択した投稿IDだけを対象にする、手動推薦や固定リストのような要件に使います。

除外用の post__not_in と同じIDを同時指定したり、スラッグ配列を渡したりしません。

配列が空になるケースでは意図せず全件へ広がる可能性を考え、実行前に空入力を処理します。

手動で選んだ順番も守りたい場合は、IDを絞るだけでなく orderby => ‘post__in’ までが一組です。

存在するID、存在しないID、空配列、複数IDを試し、取得できた投稿IDと順序をケースごとに記録します。

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

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

公式の Post & Page Parameters で、配列指定と post__not_in との併用不可を確認します。

Order & Orderby Parameters では、入力順を保つ post__in の並び指定を確認できます。

公式リンク

公式ドキュメント

最後は、値を変える目的と、変えた時に失う情報を一緒に確認します。

最後に確認したいこと

  • 投稿IDを整数配列で渡した
  • 空配列ならクエリを実行しない
  • post__not_inと併用していない
  • 手動順が必要ならorderby=post__inを指定した

公式リファレンス

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

この記事の検証情報

検証環境

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

更新履歴

  • 2026年5月26日 glossary 用の初回ドラフトを作成
  • 2026年8月15日 公式資料を再確認し、用語集として本文と判断材料を再構成

この用語を活用する

あとで見返す・共有する

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

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

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

用語集トップを見る