sta
  • 0
Новичок

Добавление курса к последнему сообщению в the_date

  • 0

Я использую <?php the_date('l jS F Y','<h2>','</h2>'); ?> внутри цикла для группировки/сортировки сообщений по дате. Все это отлично работает, но я хотел бы добавить другой класс к последнему сообщению для каждой даты, эффективно разделив каждый раздел даты.

Кто-нибудь знает, как это сделать, пожалуйста? Кажется, я ничего не могу найти! Большое спасибо, С.

Код ниже:

<?php while ( have_posts() ) : the_post(); ?>
<?php the_date('l jS F Y','<h2>','</h2>'); ?>   
<hr />   
<div class="post">                  
    <h3><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyten' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h3>                                     
    <?php the_excerpt(); ?>             
</div> <?php endwhile; ?> <hr class="btm" /> //want this to appear at the end of each date/section

Обновленный код на основе ответа Bainternet ниже:

<?php while ( have_posts() ) : the_post(); 
            $curent_date = $post->post_date;
            $curent_date = substr($curent_date,0,strpos($curent_date," "));
            $next_post = get_adjacent_post(false,'',false) ;
            if (!$next_post == ''){
            $next_date = $next_post->post_date;
            $next_date = substr($next_date,0,strpos($next_date," "));
            if ($next_date != $curent_date){
            $hrbtm = '<hr class="btm" />';
            echo $hrbtm;
                }
            } else {
            $hrbtm = '';
            }
            ?>      
            <?php the_date('l jS F Y','<h2>','</h2>'); ?>

Затем я повторяю $hrbtm прямо перед endwhile :

<?php echo $hrbtm; ?> <?php endwhile; ?>    
Share
  1. Пожалуйста, покажите свой цикл/код.

    • 0
  2. Возможно, вы можете получить следующую дату публикации для сравнения, используя функцию get_adjacent_post.

    измените свой код на этот:

    <?php while ( have_posts() ) : the_post(); 
    
    //hold current date
    $curent_date = $post->post_date;
    //fix the format to YYYY-MM-DD
    $curent_date = substr($curent_date,0,strpos($curent_date," "));
    $next_post = get_adjacent_post(false,'',false) ;
    if (!$next_post == ''){
        //get next post's date
        $next_date = $next_post->post_date;
        //fix the format to YYYY-MM-DD
        $next_date = substr($next_date,0,strpos($next_date," "));
        if ($next_date != $curent_date){//last post of the date
            the_date('l jS F Y','<h2 class="lats-of-date>','</h2>');
        }
    }else{
     the_date('l jS F Y','<h2>','</h2>'); 
    }
    ?>
    <hr />   
    <div class="post">                  
        <h3><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyten' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h3>                                     
        <?php the_excerpt(); ?>             
    </div> <?php endwhile; ?> <hr class="btm" />
    
    • 0

Оставить ответ

You must login to add an answer.