まず結論
fields は、WP_Query の戻り値を投稿オブジェクト、投稿ID、IDと親IDの組み合わせから選ぶ引数です。
’ids’ を選ぶと軽くできる場面がありますが、通常の投稿オブジェクトを前提にしたループはそのまま使えません。
どういう時に使うか
後続処理に投稿IDだけ渡したい時や、対象IDを集めて別処理へ渡す時は ’fields’ => ‘ids’ が候補になります。
親子関係だけ必要なら ’id=>parent’ を使えます。返るのは ID と post_parent を持つオブジェクトで、完全な WP_Post ではありません。
タイトル、抜粋、アイキャッチなどをその場で表示する一覧なら、既定の ’all’ の方がコードは素直です。
近い引数との違い
posts_per_page は何件返すか、post__in はどの投稿を返すかを決めます。fields が変えるのは取得後のデータの形です。
’ids’ を高速化の合言葉にせず、返り値を受け取るコードがID配列に対応しているかを先に見ます。
Builderでの扱い
WP Query Builder では戻り値の形式として指定できます。選択肢には、後続コードで何が変わるかも表示するのが親切です。
IDだけを選んだ場合は、通常ループの見本ではなくID配列を処理する見本へ切り替えます。
使いどころ・避けどころと実践確認
投稿オブジェクト全体が不要で、IDまたはIDと親IDだけを受け取る処理に絞れる時に使います。
取得直後にタイトル、本文、メタ、タームを通常のテンプレートタグで読む一覧では選びません。
fields => ‘ids’ の戻り値は WP_Post ではないため、既存ループがオブジェクト前提なら型の違いで壊れます。
fields => ‘ids’ は取得量を減らせますが、その後にタイトルやメタを読むなら、かえって処理が増えることがあります。
戻り値の型と要素を出力し、後続処理が実際に読むプロパティ・関数を列挙してから通常取得と比較します。
WordPressの仕様で確認するポイント
公式リファレンスの Return Fields Parameter で、all、ids、id=>parent の3種類を確認できます。
未対応の文字列を渡した場合の挙動も含め、推測した値を増やさないようにします。
公式リンク
公式ドキュメント
最後は、値を変える目的と、変えた時に失う情報を一緒に確認します。
最後に確認したいこと
- 必要な戻り値の形を先に決めた
- idsで通常ループが使えないことを確認した
- id=>parentの返り値をWP_Postと混同していない
- Builderのコード例も返り値に合わせた
公式リファレンス
仕様や原文の説明も確認したいときは、公式ドキュメントと整理ページをあわせて見ると理解しやすくなります。
この記事の検証情報
検証環境
- WordPress
- 7.1
- PHP
- 8.3.33
- テーマ
- wpq-media + DDEV
- 対象
- カスタム投稿 / taxonomy / meta_query
更新履歴
- 2026年5月26日 glossary 用の初回ドラフトを作成
- 2026年8月15日 公式資料を再確認し、用語集として本文と判断材料を再構成
この用語を活用する
あとで見返す・共有する
お気に入りに保存できます。役に立ったポイントは、いいねや共有で教えてください。
他の用語も続けて確認できます
似た用語や周辺知識をまとめて見たいときは、用語集トップから探すと迷いにくくなります。