Mostrar la fecha solo una vez para cada conjunto de publicaciones relacionadas con esa fecha

2

El siguiente bucle me funciona muy bien para obtener publicaciones con una fecha determinada con el uso de the_time (...):

<?php
    $myPost = new WP_Query( array(
    'posts_per_page' => '50',
    'orderby' => 'modified',
    'order' => 'DESC'
    ));
    while ($myPost->have_posts()): $myPost->the_post();
?>

<div class="timeline-group">
<p class="modified-time"><?php the_time('F j, Y') ?></p>
<h5><a href="<?php the_permalink();?>"><?php the_title();?></a></h5>
</div>

<?php
    endwhile;
    //Reset Post Data
    wp_reset_postdata();
?>

Pero los primeros 10 mensajes siempre muestran la misma fecha (es decir, el 21 de julio de 2017). Quiero mostrar esa fecha solo una vez para estas 10 publicaciones. Y si creo una nueva publicación mañana, debería mostrar una nueva fecha en estas 10 publicaciones, y luego la publicación asociada a esa nueva fecha. ¿Cómo puedo transformar mi bucle para pensar de esa manera sin fechas de codificación?

Gracias

    
pregunta klewis 21.07.2017 - 22:27

2 respuestas

3

Solo usa the_date() , tiene esto como una característica incorporada.

Consulte la dev docs para obtener más información.

    
respondido por el birgire 22.07.2017 - 00:28
1

Puedes guardar la última fecha en una variable y en cada iteración comparas la fecha actual con la última fecha, y solo escribe la fecha si son diferentes:

<?php
    $myPost = new WP_Query( array(
    'posts_per_page' => '50',
    'orderby' => 'modified',
    'order' => 'DESC'
    ));
    $lastDate = '';
    while ($myPost->have_posts()): $myPost->the_post();
    $currentDate = get_the_time('F j, Y');
?>

<?php if($currentDate != $lastDate): ?>
    <h2><?php the_time('F j, Y') ?></h2>
    <?php $lastDate = $currentDate; ?>
<?php endif; ?>

<div class="timeline-group">
<h5><a href="<?php the_permalink();?>"><?php the_title();?></a></h5>
</div>

<?php
    endwhile;
    //Reset Post Data
    wp_reset_postdata();
?>
    
respondido por el dbeja 22.07.2017 - 00:12

Lea otras preguntas en las etiquetas