Wordpress:为WP_list_categories仅选择一种帖子类型

时间:2011-06-01 11:27:55

标签: php wordpress

this.类似

我已经创建了两种自定义帖子类型,现在他们很乐意共享两种分类法,但不幸的是wp_list_categories不允许我仅按一种帖子类型列出分类法。 wp_list_categories的代码依赖于get_categories,从而产生一系列类别。 所以我生成了一个wp_query:

$query = new WP_Query( 'taxonomy=123&term=9&post_type=type' )

所以我可以这样做:

if (!$query) {
unset $categories[categories]
}

但即使没有这样的帖子,我仍然会收到$查询。

1 个答案:

答案 0 :(得分:0)

我这样做是通过克隆wp_list_categories函数,给它一个不同的名字,然后在这行之后输入这段代码:$ categories = get_categories($ r):

foreach($ categories as $ key => $ category){         $ temp = array('post_type'=> $ r ['type'],'tax_query'=> array(             阵列(                 'taxonomy'=> $分类 - >分类,                 'field'=> “塞”,                 'terms'=> $分类 - >蛞蝓             )

    )
        );
    $pauli = new wp_query($temp);
    if($pauli->post_count==0){
        unset($categories[$key]);
    }
}

正如您所看到的,它会删除不具有您需要的任何帖子类型的类别,然后在wp_list_categories正常运行时继续该过程。您可能必须添加过滤器以确保调用的类别页面/分类页面仅显示您想要的帖子类型,但这取决于您拥有的固定链接类型。