如何在wordpress中的帖子下隐藏类别列表中的某些类别?

时间:2012-06-28 13:08:56

标签: wordpress

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

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

如何在每个帖子下隐藏或制作该类别列表的过滤器?

4 个答案:

答案 0 :(得分:3)

我的解决方案:

.cat-item-1 {display:none;}

答案 1 :(得分:2)

如果要隐藏前端的所选类别,请尝试使用get_the_terms过滤器。也许是这样,尝试将其添加到您的functions.php

add_filter('get_the_terms', 'hide_categories_terms', 10, 3);
function hide_categories_terms($terms, $post_id, $taxonomy){

    // list of category slug to exclude, 
    $exclude = array('your-term-slug', 'another-term-to-hide');

    if (!is_admin()) {
        foreach($terms as $key => $term){
            if($term->taxonomy == "category"){
                if(in_array($term->slug, $exclude)) unset($terms[$key]);
            }
        }
    }

    return $terms;
}

答案 2 :(得分:1)

您需要获取帖子的类别,取出您不想要的内容,然后显示。

<?php
$postCats = wp_get_post_categories($post->ID);
$cats =  array();

foreach($postCats as $c){
 $cats[]= get_cat_name($c);
}
$dontShow = array("List","the","Categories","here");
echo implode(", ", array_diff($cats,$dontShow);
?>

答案 3 :(得分:1)

$exclu_categories=array(
    1=>'',
    34 => '',
    45=>'',
);
$categoires=get_the_category();

foreach($categoires as $category) {

   $cat_id=$category->cat_ID;
   $cat_name=$category->name;

   if(!isset($exclu_categories[$cat_id])) {
      echo $cat_name;
   }

}