詳細設定は、複雑な条件を必要なセクションだけ開いて作ります
投稿ID・投稿者・Tax Query・Meta Query・Date Query・Performance / Cacheを指定するなら、詳細設定を使います。すべての項目を埋めるのではなく、まず基本設定を決め、必要なセクションだけ入力します。
ここでは2026年9月14日以降に開催するworksを、開催日の早い順に最大6件取得します。公開中のWP Query Builderが生成した未編集コードを子テーマへ置き、ID92・93・94が返るところまで確認します。
詳細設定を使う条件を1文にしてから入力する
先に「何を、どの条件で、何順に、何件取得するか」を1文にします。この記事の要件は「2026年9月14日以降に開催するworksの公開投稿を、開催日の早い順に最大6件取得する」です。画面へ入力するときは、2026年9月14日を保存形式に合わせた20260914へ置き換えます。
| 要件 | WP Query Builderで使う場所 | 入力 |
|---|---|---|
| 何を取る | 基本設定 | custom → works |
| 公開範囲 | 基本設定 | publish |
| 最大件数 | 基本設定 | 6 |
| 絞り込み | Meta Query | event_date >= 20260914 / NUMERIC |
| 並び順 | ページング / 並び順 | meta_value_num / ASC |
カテゴリー・タグ・キーワードだけの一覧なら、シンプル設定の方が短い画面で完了します。詳細項目が本当に必要か迷う場合は、比較記事で作りたい条件ごとの選択を確認してから戻ってください。
入力前にモードを選ぶWP Query Builderのシンプル設定と詳細設定の違いシンプルで作れる基本一覧と、詳細設定が必要な複数条件・個別引数を対比します。
記事を読む詳細設定へ基本項目とMeta Queryを入力する
画面上部の「詳細設定(全項目)」を選び、「全項目を開く」を押します。基本設定は上から入力します。
基本設定の入力順
- 1投稿タイプでcustom(手入力)を選ぶ
- 2カスタム投稿タイプへworksを入力する
- 3公開状態でpublishを選ぶ
- 4取得件数へ6を入力する
- 5並び方向でASCを選ぶ
- 6並べ替えの基準でmeta_value_numを選ぶ
まず基本設定と並び順を入れると、どの投稿を何件、どの順番で取得するかが決まります。この段階で右側のコードへworks、6件、昇順が反映されたことを確認します。

customを選んでworksを入力すると、生成されたコードではpost_typeにworksが入ります。
customはコードにそのまま出る値ではありません。入力欄のworksが、生成コードのpost_type => ‘works’になります。対象サイトに登録された実際の投稿タイプ名を使ってください。
Meta Queryへevent_dateの基準値と型を入力する
「Meta Query(カスタムフィールド)」の条件1へ、キーから順に入力します。キーを入れると、値・比較方法・値の型が編集できるようになります。
| 入力欄 | 値 | 意味 |
|---|---|---|
| キー / key | event_date | 保存されているカスタムフィールド名 |
| 値 / value | 20260914 | 基準日のYmd値 |
| 比較方法 / compare | >= | 基準日を含む未来 |
| 値の型 / type | NUMERIC | 8桁値を数値として比較 |
並べ替えの基準にmeta_value_numを選ぶと、WP Query Builderは同じevent_dateをmeta_keyにも出力します。絞り込み用のmeta_queryだけでは並び替えの対象キーが確定しないためです。
この記事では、入力した条件とコードをそのまま見比べるため、自動高速化をOFFにしています。

meta_value_numの並び替えに必要なmeta_keyも同時に生成されます。
次は、WP Query Builderがこの画面から生成した未編集コードです。
引数や処理の一部分だけを示した例です。このまま単独で貼らず、テンプレート内のWP_Queryとループへ組み込んでください。
$args = array( 'post_type' => 'works', 'post_status' => 'publish', 'posts_per_page' => 6, 'order' => 'ASC', 'orderby' => 'meta_value_num', 'meta_query' => array( array( 'key' => 'event_date', 'compare' => '>=', 'type' => 'NUMERIC', 'value' => 20260914 ) ), 'meta_key' => 'event_date');子テーマのイベント用テンプレートパーツへ置く
クラシックテーマの子テーマへtemplate-parts/upcoming-events.phpを作ります。WP Query Builderが生成した$argsは変更せず、表示ループと0件時の案内を加えます。
<?php$args = array( 'post_type' => 'works', 'post_status' => 'publish', 'posts_per_page' => 6, 'order' => 'ASC', 'orderby' => 'meta_value_num', 'meta_query' => array( array( 'key' => 'event_date', 'compare' => '>=', 'type' => 'NUMERIC', 'value' => 20260914 ) ), 'meta_key' => 'event_date'); $upcoming_events = new WP_Query( $args ); if ( $upcoming_events->have_posts() ) : ?> <section aria-labelledby="upcoming-events-title"> <h2 id="upcoming-events-title">開催予定のイベント</h2> <ul> <?php while ( $upcoming_events->have_posts() ) : ?> <?php $upcoming_events->the_post(); ?> <li> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> <span><?php echo esc_html( get_post_meta( get_the_ID(), 'event_date', true ) ); ?></span> </li> <?php endwhile; ?> </ul> </section> <?phpelse : echo '<p>開催予定のイベントはありません。</p>';endif; wp_reset_postdata();固定ページ用のpage-events.phpで、メインループ内のthe_content()の後から1回だけ呼びます。
引数や処理の一部分だけを示した例です。このまま単独で貼らず、テンプレート内のWP_Queryとループへ組み込んでください。
<?phpwhile ( have_posts() ) : the_post(); the_content(); get_template_part( 'template-parts/upcoming-events' );endwhile;?>event_dateの保存形式と画面表示は分けて考えます。この例はYmdの8桁を保存して比較する前提です。2026-09-14のような形式を保存しているサイトへ、そのまま流用しないでください。
同じ保存形式の実データで3件を確認する
分離したWordPressへ、2026年9月14日のID92、9月20日のID93、10月3日のID94、前日のID95、未入力のID96を用意しました。WP Query Builderが生成した未編集コードでは、基準日を含むID92・93・94が開催日の早い順に返ります。

前日のID95とevent_date未入力のID96は対象外です。
日付の保存値、当日を含む境界、毎日変わる基準日の作り方まで実装したい場合は、イベント一覧の記事へ進んでください。WP Query Builderの操作後に読むと、固定値のサンプルを本番向けのcurrent_time(‘Ymd’)へ置き換える判断ができます。
イベント一覧の実装へ進むWP_Queryでイベント一覧を作る方法event_dateの保存形式、当日を含む条件、基準日の作り方、0件時の表示を一つの完成例で確認します。
記事を読む条件を追加するときは内側のrelationを確認する
Meta Queryの条件を2件以上追加すると、同じmeta_query内でrelationを選べます。Tax Queryにも独立したrelationがあり、Meta QueryとTax Queryをまたいだ外側の条件は原則ANDです。
カテゴリー、カスタムフィールド、日付を一緒に使う場合は、次の記事で同じ種類の条件どうしをつなぐ場合と、異なる種類の条件を$args直下へ並べる場合を整理してから増やしてください。0件になったときに、どの条件から外して確認するかも分かります。
複数条件の組み方を確認するWP_Queryで複数条件を組み合わせる方法Tax Query・Meta Query・Date QueryのAND・ORの範囲と、通常の引数だけではできない組み合わせを説明します。
記事を読むシンプル設定へ切り替えても詳細条件は残る
詳細設定からシンプル設定へ切り替えても、入力済みの基本設定は引き継がれます。Meta Queryなどシンプル設定に表示されない条件も消えず、生成コードへ反映され続けます。画面には「詳細条件がコードに反映されています」と案内されるため、短い画面に戻っただけで条件を外せたと判断しないでください。
詳細条件を外す場合は「詳細設定で確認」から詳細設定へ戻り、不要な条件を空にします。すべての入力をやり直すなら「入力をリセット」も使えますが、確認後は基本設定を含むフォーム全体が初期状態へ戻るため、残したいコードを先に控えてください。
カテゴリーやタグだけの単純な一覧として作り直す場合は、詳細条件を消したことを生成コードで確かめてから、シンプル設定へ切り替えると入力漏れを見つけやすくなります。
シンプル設定でどの欄を上から入力し、どこへコードを置くかを確認したい場合は、次の記事でカテゴリー一覧を完成させてください。
シンプル設定へ戻るWP Query Builderのシンプル設定の使い方post・publish・件数・並び順・カテゴリーを入力し、実投稿3件を取得するまでの最短手順です。
記事を読む詳細設定で必要な条件だけを組む
基本設定を決めてから、Tax Query・Meta Query・Date Queryなど必要なセクションだけを入力してください。生成コードは実データの保存形式と取得IDで確認します。
入力欄・生成配列・保存値を順に見比べる
複雑な条件ほど、画面の入力値だけでなく、WordPressへ保存された値と取得結果を分けて確認します。
詳細設定の確認順
- 1要件を何・条件・順番・件数の1文にする
- 2基本設定を入力する
- 3必要な詳細セクションだけ入力する
- 4生成コードで条件の階層と各値を見比べる
- 5カスタムフィールドの実際の保存形式を確認する
- 6子テーマのテンプレートパーツへ置く
- 7境界・対象外・未入力の投稿で取得IDを確認する
- 8独自ループ後の表示が元ページへ戻るか確認する
詳細設定の最終チェック
- 対象サイトの投稿タイプ名を確認した
- Meta Queryはキーから入力した
- 値・比較方法・値の型を保存形式に合わせた
- orderbyとmeta_keyの対応を確認した
- 自動高速化のON・OFFを意図して選んだ
- WP Query Builderが生成した$argsを未編集で控えた
- 設置ファイルと呼び出し位置を記録した
- 境界値と未入力を実データで確認した
- wp_reset_postdataを実行した
Meta Queryと並び替えの仕様を公式資料で確認する
WP Query Builderの画面表示と合わせて、カスタムフィールド条件と並び順の仕様を公式資料で確認します。
詳細設定のよくある質問
入力順、保存形式、シンプル設定との使い分けで迷いやすい点をまとめます。
この記事の検証情報
検証環境
- WordPress
- 7.1.4
- PHP
- 8.3.36
- テーマ
- wpq-media + DDEV
- 対象
- カスタム投稿 / taxonomy / meta_query
更新履歴
- 2026年9月19日 初回公開
この記事を活用する
あとで見返す・共有する
お気に入りに保存できます。役に立ったポイントは、いいねや共有で教えてください。


