检查自定义分类是否有带有GET_CATEGORIES()的帖子

时间:2013-12-13 作者:Pedrão

我正在使用get_categories 列出我的分类法的所有术语“genre“,但我有另一种分类法叫做”brands“。

在品牌页面中(taxonomy-brands.php) 我需要返回品牌和相关流派的所有帖子。

For example, I have a taxonomy page for Ferrari:

. 品牌名称:法拉利

..类型:红色、黄色

But I also have a taxonomy page for Wolkswagen:

. 品牌名称:Wolkswagen

..类型:蓝色、绿色

问题是,法拉利的页面也列出了“蓝色”和“绿色”,即使法拉利没有任何与蓝色和绿色相关的帖子。

最后,有没有办法在不使用“蓝色”和“绿色”时隐藏它们?

以下是我目前得到的信息:http://codepad.org/rWaVmuUT

如果您需要视觉示例:http://i.imgur.com/PKGpi2o.png - “Sucos”和“CD”不应该出现,因为这个品牌只有带有“Macarrão Instantaneo”的帖子。

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

API返回的类别对象在count 领域对于那个些并没有帖子的人,你们应该简单地检查一下,跳过其余的迭代。

类似于:

foreach( $categories as $category ) {

    if( 0 == $category->count ) {
        continue;
    }
划伤那个。如果我这次做得对的话,你真正需要的是在你输出分类标题之前检查你是否有任何帖子。类似(不要使用query_posts() 顺便说一下,这很麻烦):

$stuff = new WP_Query( $args );

if ( $stuff->have_posts() ) {
    ?><a href="#" class="list-group-item active"><?php echo $category->name; ?></a><?php

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

        // posts output

    endwhile;
}

结束

相关推荐