类别中的计数帖子出现PHP循环错误

时间:2020-08-14 作者:JonSnow

我的wordpress页面上有多个类别,每个类别都有1到n个子类别。如果一个子类别只包含一篇文章,我想显示这篇文章的摘录,否则我会显示类别的描述。

我已经有了“的部分”;“正常”;类别,但关于;单一职位类别;。这就是我目前的情况:

<?php                   
  $args = array(
     \'orderby\' => \'slug\',
     \'child_of\' => $cat_id,
  );

  $categories = get_categories( $args ); 


  foreach ( $categories as $category ) {
                            
      $cat_count = get_category($category->cat_ID);
        
      if($cat_count->count == 1) { ?>
           <!-- Cat has only one post, display post -->
      <?php } else {
           <!-- Cat has multiple posts, display cat description -->  
      }
  }
?>
结果是:我得到了正常类别(很好!)但第一个;“单一职位类别”;多次。我的循环可能有问题,但我看不出来。有人看到错误了吗?

PS:是的,我是一个绝对的WP初学者-(

1 个回复
最合适的回答,由SO网友:JonSnow 整理而成

我现在有一个可行的解决方案。。。最后

<?php                   
     foreach ( $categories as $category ) {
                                
         // If there is only one post available, go directly to the post
         if($category->count == 1) {

            $all_posts = get_posts($category);
            echo \'<div class="item"><h4 class="item-title">\' . get_the_title($all_posts[0]->ID) . \'</h4><a href="\' . get_permalink($all_posts[0]->ID) . \'">Read more</a></div>\';

         } else {

            echo \'<div class="item"><h4 class="item-title">\' . $category->name . \'</h4><a href="\' . get_category_link( $category->term_id ) . \'">Read more</a></div>\';
         }
     }
?>