Php WP:如果类别仅包含一篇文章,则显示文章而不是子类别

Php WP:如果类别仅包含一篇文章,则显示文章而不是子类别,php,wordpress,wordpress-theming,Php,Wordpress,Wordpress Theming,我仍然有这个东西的问题(是的,这仍然是我的第一个可湿性粉剂项目) 如果类别中有多个帖子,我将显示类别及其描述。 但是如果一个类别中只有一篇文章,我需要直接显示该文章的链接。 这(部分)适用于以下代码,但仅当存在一个“1-post-category”时。如果有多个,它只显示一个(我猜是最新添加的)。所以一定是出了什么问题或遗漏了什么。我猜是一个循环。。。?如果有人能仔细看看,那就太好了——非常感谢 <?php foreach ( $catego

我仍然有这个东西的问题(是的,这仍然是我的第一个可湿性粉剂项目)

如果类别中有多个帖子,我将显示类别及其描述。 但是如果一个类别中只有一篇文章,我需要直接显示该文章的链接。 这(部分)适用于以下代码,但仅当存在一个“1-post-category”时。如果有多个,它只显示一个(我猜是最新添加的)。所以一定是出了什么问题或遗漏了什么。我猜是一个循环。。。?如果有人能仔细看看,那就太好了——非常感谢

<?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="card"><div class="card-header"><h4>' . get_the_title($all_posts[0]->ID) . '</h4><div class="card-body">' . wp_trim_words( get_the_content($all_posts[0]->ID), 30, '...') . '</div><div class="card-footer"><a href="' . get_permalink($all_posts[0]->ID) . '" class="readmore">Read more</a></div></div></div>';
                                
          // otherwise display subcategories
          } else {
             echo '<div class="card"><div class="card-header"><h4>' . $category->name . '</h4><div class="card-body">' . wp_trim_words($category->description, 30, '...') . '</div><div class="card-footer"><a href="' . get_category_link( $category->term_id ) . '" class="readmore">Read more</a></div></div></div>';
          }
     }
?>

在没有看到您的输出的情况下,很难说清楚,但我非常确定这一行:

$all\u posts=get\u posts($category)

不是你想的那样。相反,请尝试以下方法:


$all_posts=get_posts(数组('category'=>$category->term_id))

谢谢@Greg,这正是我所希望的!我永远也无法独自解决这个问题。