web-dev-qa-db-fra.com

WP Requête pour afficher la date et les publications pour cette date?

J'essaie de créer une requête personnalisée qui aurait pour résultat ce qui suit.

- lundi 5 janvier 2018 -

Ceci est un titre de poste du 01-05-2018

Ceci est un titre de poste du 01-05-2018

Ceci est un titre de poste du 01-05-2018

- mardi 6 janvier 2018 -

Ceci est un titre de poste du 01-06-2018

Ceci est un titre de poste du 01-06-2018

Ceci est un titre de poste du 01-06-2018

- mercredi 7 janvier 2018 -

Ceci est un titre de poste du 01-07-2018

Ceci est un titre de poste du 01-07-2018

Ceci est un titre de poste du 01-07-2018

... etc.

J'ai créé une requête args avec les éléments suivants:

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

Ce qui me donne les postes dont j'ai besoin, mais existe-t-il un moyen d'injecter la date entre chaque jour?

/ TIA

1
Matthew Woodard

J'ai été capable de faire cela en utilisant ce qui suit:

$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