tombolo-jp
2/16/2017 - 7:52 AM

acf_repeater_field_query.php

<?php
$event_query = new WP_Query();
$event_paged = get_query_var('paged') ? get_query_var('paged') : 1;

add_filter('posts_where', function ($where) {
    // Repeater Field内をmeta_keyで検索するため、LIKEで検索
    $where = str_replace("meta_key = 'date_repeater_%", "meta_key LIKE 'date_repeater_%", $where);
    return $where;
});

$today = date('Ymd');
$event_param = [
    'post_type'      => 'event',
    'post_status'    => 'publish',
    'posts_per_page' => 1,
    'paged'          => $event_paged,
    'orderby'        => 'meta_value',
    'meta_key'       => 'date_repeater_%_date', // Repeater Fieldの開催日が古い順でソート
    'order'          => 'ASC',
    'meta_query'     => [
        'relation' => 'AND',
        [
            'key'     => 'date_repeater_%_date',
            'compare' => '>=',
            'value'   => $today, //開催日が今日以降のみ表示
        ]
    ]
];
$event_query->query($event_param);

while ($event_query->have_posts()) {
    $event_query->the_post();
    the_content();
}