获取分类标准等于‘n’的类别

时间:2012-06-06 作者:Darren Cooney

我有一个自定义分类法(分类法是types),它基本上是一个选择器,告诉WordPress站点的哪个部分要放置新帖子。

比如说

我创建一个新帖子并选择Lifestyle 从自定义分类列表中Healthy我正在列出Lifestyle 以自定义菜单格式,但仅当所选分类法类型和类别下存在帖子时。

我得到的是一个完整的类别列表,但不是按分类类型过滤的。

有人能看出我哪里出了错吗?

<?php
$args=array(
  \'types\' => \'Lifestyle\',
  \'orderby\' => \'name\',
  \'order\' => \'ASC\',
  \'hide_empty\' => 1
  );
$categories=get_categories($args);
  foreach($categories as $category) {
    if ($category->count > 0){
    echo \'<li class="\'.$category->slug.\'"><a href="?category=\' . $category->slug . \'">\'.$category->name.\' / \'.$category->count.\'</a></li>\';
        }
    } 
?>
非常感谢-D

1 个回复
SO网友:mrwweb

get_categories() 仅列出类别,因此您不应该看到自定义分类法中的任何术语。您想要使用的是get_terms() 它以分类法为参数。正如您在this answer, get_terms() 实际由使用get_categories(), 它只是在“taxonomy”参数前面加上“category”

如果你换进来get_terms() 并添加自定义分类法的名称,代码看起来应该可以正常工作。你唯一可以改变的是if 检查类别计数的语句。如果你已经在做\'hide_empty\' => 1 你不应该需要这个。

结束