web-dev-qa-db-ja.com

WP 日付とその日付の投稿を照会する

以下のようなカスタマイズされたクエリを作成しようとしています。

- 2018年1月5日月曜日 -

これは01-05-2018からの投稿タイトルです

これは01-05-2018からの投稿タイトルです

これは01-05-2018からの投稿タイトルです

- 2018年1月6日火曜日 -

これは01-06-2018からの投稿タイトルです

これは01-06-2018からの投稿タイトルです

これは01-06-2018からの投稿タイトルです

- 2018年1月7日水曜日 -

これは01-07-2018からの投稿タイトルです

これは01-07-2018からの投稿タイトルです

これは01-07-2018からの投稿タイトルです

... 等々。

次のようにクエリ引数を作成しました。

$args = array(
        'post_type' => 'show',
        'post_status' => 'publish',
        'posts_per_page' => -1,
        'orderby'   => 'meta_value',
        'meta_key'  => 'show_date',
        'order' => ASC
    );

必要な投稿はどれですか?しかし、毎日の間に日付を挿入する方法はありますか?

/ TIA

1
Matthew Woodard

私は以下を使ってこれをすることができました:

$args = array(
    'post_type' => 'show',
    'post_status' => 'publish',
    'posts_per_page' => -1,
    'orderby'   => 'meta_value',
    'meta_key'  => 'show_date',
    'order' => ASC
);

$query = new WP_Query( $args );

if( $query->have_posts() ) {
        $day_check = '';
        while( $query->have_posts() ): $query->the_post();

            $day = date('Y-m-d', strtotime(get_field('show_date')));

            if ($day != $day_check) {
                if ($day_check != '') {
                  $output .= '</ul>'; // end ul.shows
                }

                $output .= '<h3 class="date">' . date('l, F jS, Y', strtotime(get_field('show_date'))) . '</h3>';
                // start this date's show list
                $output .= '<ul class="shows">';
            }

            // what ever you want to show from the posts
            $output .= '<li>' . get_the_title() . '</li>';

        $day_check = $day;

        endwhile;
        wp_reset_postdata();
}
3
Matthew Woodard