我的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初学者-(
最合适的回答,由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>\';
}
}
?>