如何在wp_query循环中获取下一个帖子的类别

时间:2019-05-10 06:02:49

标签: php wordpress

我需要检查循环中的当前帖子是否与下一篇文章具有相同的类别。

while($query->have_posts()){
    $query->the_post();
        if(category_of_this_post == category_of_the_next_post) //this
        //do something
    }

2 个答案:

答案 0 :(得分:0)

下面是一个粗略的设置。

while ( $query->have_posts() ) : $query->the_post();

    $next                 = $query->posts[ $query->current_post + 1];
    $current_categories   = get_the_category();
    $next_post_categories = get_the_category($next->ID);

    if ( /* compare $current_categories  $next_post_categories */ ) {

    }
endwhile;
wp_reset_postdata(); // always reset

请记住以下几点:

  • 您可以分配多个类别,因此请考虑一下如何比较
  • 在上一篇文章中,您会收到通知。因为它不存在。为此进行检查。

答案 1 :(得分:0)

过去,这对我很有效,可以使上一个和下一个保持一致:

 <?php previous_post_link( '%link', __( '<span class="prev"><< Previous Post</span>', 'esquire' ), TRUE ); ?>
 <?php next_post_link( '%link', __( '<span class="prev">Next Post >></span>', 'esquire' ), TRUE ); ?>