最初にフィールド名と保存値を確認する
最初にACFのフィールド設定でフィールド名を確認し、投稿編集画面で日付が入力されているかを見ます。Date Pickerは画面の表示形式や戻り値の形式とは別に、データベースへ Ymd 形式で保存されます。
今日以降を出す場合は、比較値も Ymd にそろえ、meta_query の compare を >=、type を NUMERIC にします。近い日付順に並べる場合は、meta_key、orderby => ‘meta_value_num’、order => ‘ASC’を組み合わせます。
今日以降のイベントを近い順に表示する
Date Pickerで入力したイベント日を使い、今日以降だけを近い順に表示します。例では投稿タイプをevent、フィールド名をevent_dateとします。
コードはイベント一覧を出したいテンプレートへ置き、eventとevent_dateを自分の投稿タイプ名とフィールド名へ置き換えます。例は今日以降を昇順で取得しますが、必要に応じて期間や並びの向きを変えてください。

コードのevent_dateはフィールド名です。画面表示、戻り値、データベース保存値は同じとは限りません。
最初に確認するのは保存形式
日付も投稿メタとして扱うため、先にmeta_queryの基本を押さえておくと、このあとのkey、value、compare、typeの役割を追いやすくなります。値が合っているのに0件になる場合は、meta_queryの確認手順へ進んでください。
Date Pickerの表示形式は入力画面、戻り値の形式はACF関数で取得した時の形です。データベースにはYmd、つまりYYYYMMDDで保存されます。管理画面に2026/06/14と見えていても、WP_Queryでは20260614と比較します。
この記事のYmd例はDate Picker向けです。時刻も保存するDate Time Pickerにはそのまま流用せず、フィールドタイプと保存値を確認してください。
今日以降のイベントだけを取得する最小例
WordPressのタイムゾーンに合わせた今日の日付をcurrent_time( ‘Ymd’ )で作り、meta_queryの比較値にします。まずは10件だけ返す最小条件で確認してください。
クラシックテーマのテンプレート(またはテンプレートパーツ)で、一覧を表示したい位置に置く例です。投稿本文やfunctions.phpへ、そのまま貼るコードではありません。
$today = current_time( 'Ymd' ); $args = [ 'post_type' => 'event', 'post_status' => 'publish', 'posts_per_page' => 10, 'meta_key' => 'event_date', 'orderby' => [ 'meta_value_num' => 'ASC', 'ID' => 'ASC', ], 'meta_query' => [ [ 'key' => 'event_date', 'value' => $today, 'compare' => '>=', 'type' => 'NUMERIC', ], ],]; $event_query = new WP_Query( $args ); if ( $event_query->have_posts() ) { echo '<ul>'; while ( $event_query->have_posts() ) { $event_query->the_post(); printf( '<li><a href="%1$s">%2$s</a></li>', esc_url( get_permalink() ), esc_html( get_the_title() ) ); } echo '</ul>';} else { echo '<p>今日以降のイベントはありません。</p>';} wp_reset_postdata();meta_queryは取得条件、meta_keyとorderbyは並び順です。YmdをNUMERICで比較し、同じ日付ではIDの小さい順にして結果を再現しやすくしています。表示はタイトルとリンクだけにして、条件が合ってから日付や抜粋を足します。

検証日より前のイベントを除外し、event_dateの昇順で並べた結果です。
期間で絞り込む場合はBETWEENを使う
期間で絞る場合はcompare => ‘BETWEEN’を使い、開始日と終了日をYmdの配列で渡します。
指定期間内のイベントだけを取得するコード
次のコードは、2026年6月1日から2026年6月30日までのイベントだけを取得する例です。固定の日付で説明していますが、実務ではフォーム入力や現在月から開始日・終了日を作ることもあります。
クラシックテーマのテンプレート(またはテンプレートパーツ)で、一覧を表示したい位置に置く例です。投稿本文やfunctions.phpへ、そのまま貼るコードではありません。
$start_date = '20260601';$end_date = '20260630'; $args = [ 'post_type' => 'event', 'post_status' => 'publish', 'posts_per_page' => 10, 'meta_key' => 'event_date', 'orderby' => 'meta_value_num', 'order' => 'ASC', 'meta_query' => [ [ 'key' => 'event_date', 'value' => [ $start_date, $end_date ], 'compare' => 'BETWEEN', 'type' => 'NUMERIC', ], ],]; $event_query = new WP_Query( $args );BETWEENは開始日と終了日の両方を含みます。境界日を含めない要件なら、>と<の2条件に分けます。
WP_Meta_Queryの公式リファレンスでは、type に DATE を使う場合、BETWEEN は YYYY-MM-DD 形式で保存・比較されている場合に機能する旨が説明されています。ACF Date Pickerの保存値は基本的に Ymd なので、この記事の例では DATE ではなく、Ymd に合わせた NUMERIC 比較として整理しています。
コードはどこに置くか
一覧の表示コードは固定ページや一覧のテンプレートへ置きます。functions.phpへHTML出力まで直接書かず、関数やフックと表示を分けます。
実装前に確認する順番
- 1ACFの日付フィールド名を確認する
- 2Date Pickerの保存形式を確認する
- 3テンプレート内で最小コードを動かす
- 4タイトルだけ表示して取得条件を確認する
- 5日付表示やリンクなどの見た目を後から足す
実務では、まず posts_per_page を少なめにして確認するのがおすすめです。いきなり全件取得したり、複数の meta_query を組み合わせたりすると、問題が起きた時に原因を見つけにくくなります。

この例では、開催日へ入力した値をevent_dateとして保存し、WP_Queryの条件に使います。
うまく絞り込めない時に見るポイント
多い原因は、フィールド名、日付形式、投稿タイプの違いと、絞り込み・並び順の混同です。戻り値をY-m-dにしても、Date Pickerのデータベース保存値はYmdです。
| 症状 | 最初に疑うこと | 確認方法 |
|---|---|---|
| 1件も表示されない | フィールド名か日付形式が違う | ACFのフィールド名と比較値の形式を確認する |
| 過去イベントも出る | compareやvalueが合っていない | 今日の日付がYmdで作られているか確認する |
| 並び順が日付順にならない | orderbyの指定が不足している | meta_keyとmeta_value_numを確認する |
| 想定外の投稿が混ざる | post_typeが広すぎる | eventなど対象の投稿タイプに絞る |
もうひとつ注意したいのは、日付フィールドが未入力の投稿です。未入力の投稿を含めたいのか、除外したいのかで条件は変わります。この記事の最小例では、event_date が今日以降の投稿だけを対象にしているため、日付が入っていない投稿は基本的に一覧には出さない前提です。
空文字やYmd以外の値が混在すると、数値比較の結果を信頼できません。対象投稿を1件に絞り、get_post_meta( $post_id, ‘event_date’, true )で保存値を確認してください。
公式資料で確認したいポイント
meta_query、compare、typeはWordPress側、Date Pickerの表示・戻り値・保存形式はACF側の公式資料で確認します。
公式リンク
公式ドキュメント
最後に判断したいこと
- ACFの保存形式と比較値を同じ基準に揃えた
- 単日・今日以降・期間指定のどれを実装するか決めた
- 日付順に並べる場合のmeta_keyとorderbyを確認した
- 境界日を含むかをテストデータで確認した
- ループ後の表示が崩れないことを確認した
この記事の検証情報
検証環境
- WordPress
- 7.1
- PHP
- 8.3.33
- テーマ
- wpq-media + DDEV
- 対象
- カスタム投稿 / taxonomy / meta_query
更新履歴
- 2026年9月9日 初回公開
この記事を活用する
あとで見返す・共有する
お気に入りに保存できます。役に立ったポイントは、いいねや共有で教えてください。


