まず結論
post_name__in は、投稿スラッグを複数指定して取得対象を絞る WP_Query 引数です。WordPress 4.4 で追加されました。
IDが分からなくても人が読める値で指定できますが、スラッグ変更の影響を受けます。
どういう時に使うか
設定ファイルにスラッグで候補を持つ時や、複数の既知ページをまとめて取得する時に使えます。
対象の post_type も一緒に指定すると、同じようなスラッグを持つ別投稿タイプとの混同を避けやすくなります。
運用中にスラッグを変更できるサイトでは、固定IDの方が保守しやすい場合もあります。どちらが正本かを先に決めます。
近い引数との違い
name は単一スラッグ、post_name__in は複数スラッグを配列で扱います。post__in はスラッグではなく投稿IDです。
入力順を保つ orderby => ‘post_name__in’ は WordPress 4.6 から使えます。引数本体の追加時期とは異なります。
Builderでの扱い
WP Query Builder では複数スラッグとして入力できます。カンマ区切りを配列へ変換する時は、空白と空要素を除きます。
スラッグ変更に弱い点を補足し、長期固定の参照ならID指定も比較できるようにします。
使いどころ・避けどころと実践確認
複数の投稿スラッグだけを対象にし、IDへ依存しない既知の投稿集合を取りたい時に使います。
タイトルやURL全体を渡したり、単一投稿を確実に取得する用途で曖昧な配列を作ったりしません。
スラッグ変更や投稿タイプ違いで一致しなくなるため、post_type と現在の post_name を合わせて確認します。
スラッグは人が変更できるため、長期固定の選択リストならIDの方が安全な場合もあります。
対象投稿のID・post_name・post_type を出力し、存在するスラッグ、変更済みのスラッグ、別投稿タイプのスラッグで結果を比べます。
WordPressの仕様で確認するポイント
公式の変更履歴で、post_name__in は4.4、同名の orderby 対応は4.6と分けて確認できます。
Post & Page Parameters では、受け付ける値がスラッグ配列であることを確認します。
公式リンク
公式ドキュメント
最後は、値を変える目的と、変えた時に失う情報を一緒に確認します。
最後に確認したいこと
- 投稿スラッグの配列を渡した
- 対象post_typeも確認した
- スラッグ変更の運用リスクを確認した
- 入力順を保つ場合はWordPress 4.6以上を前提にした
公式リファレンス
仕様や原文の説明も確認したいときは、公式ドキュメントと整理ページをあわせて見ると理解しやすくなります。
この記事の検証情報
検証環境
- WordPress
- 7.1
- PHP
- 8.3.33
- テーマ
- wpq-media + DDEV
- 対象
- カスタム投稿 / taxonomy / meta_query
更新履歴
- 2026年5月26日 glossary 用の初回ドラフトを作成
- 2026年8月15日 公式資料を再確認し、用語集として本文と判断材料を再構成
この用語を活用する
あとで見返す・共有する
お気に入りに保存できます。役に立ったポイントは、いいねや共有で教えてください。
他の用語も続けて確認できます
似た用語や周辺知識をまとめて見たいときは、用語集トップから探すと迷いにくくなります。