如何在WordPress的POST下隐藏类别列表中的一些类别?

时间:2012-06-28 作者:Miuranga

在我的wodpress博客中,有一些类别用于内部工作。我想在博客主页分类列表中隐藏每个帖子下显示的分类。

我将类别列表打印为print(the_category($postID));

如何隐藏或筛选每个帖子下打印的类别列表?

1 个回复
SO网友:Nadav

恐怕在这种情况下,你必须仔细分析这些类别,并在这里有一些逻辑。您可以使用如下函数:

function filterCategories($postId,$excluded, $separator){
    $categoriesToDisplay = \'\';
    $count = 0;
    $allCategories = get_the_category($postId);
    foreach($allCategories as $category) {
        if ( !in_array($category->cat_ID, $excluded) ) {

           // get that category link
           $cat_link = $get_category_link($category->cat_ID);       
           $categoriesToDisplay .= $cat_link;

           // we want a separator, but not at the end...
           if($count < count($categories)){
               $categoriesToDisplay .= $separator;
           }
        }
        $count++;
    }
        return $categoriesToDisplay;
}
它将转移您想要的类别,而不包含由您想要的内容(在本例中为“|”)分隔的被排除的链接。您可以在循环中调用它:

     <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
     <?php $id = get_the_ID(); ?>
     <?php echo filterCategories($id, array(1,2,3,4)," | "); ?>
$categories array是类别对象的数组,然后可以显示为:

我还没有测试过,但应该可以。

要获取排除的类别,可以使用名为“排除”的父类别或类似的内容。您可以轻松获得:

$excluded = wp_list_categories("child_of=".$excludedCategoriId);
希望有帮助。

结束

相关推荐

Google Maps with categories

我正在寻找可以帮助我在谷歌地图和多个类别上创建多个标记的插件。这个插件将是伟大的,但我需要更好的类别管理器。例如餐厅——素食主义者——素食主义者——酒店——五星级——四星级——我还需要能够选择要显示的类别地图。谢谢你的回答。