在我的WordPress博客中,有一些类别用于内部工作。我想在每个帖子下的博客主页类别列表中隐藏这些类别。
我将类别列表打印为print(the_category($postID));
如何在每个帖子下隐藏或制作该类别列表的过滤器?
答案 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;
}
}