For specifically post categories, you can use get_the_categories filter hook to remove certain found category (term).
function filter_get_the_category( $categories, $post_id ) {
// loop post categories
foreach ($categories as $index => $category) {
// check for certain category, you could also check for $term->slug or $term->term_id
if ( 'Featured' === $category->name ) {
// remove it from the array
unset( $categories[$index] );
}
}
return $categories;
}
add_filter( 'get_the_categories', 'filter_get_the_category', 10, 2 );
To filter any taxonomy terms, you can use get_the_terms hook.
function filter_get_the_terms( $terms, $post_id, $taxonomy ) {
// target certain taxonomy
if ( 'category' === $taxonomy && ! is_wp_error( $terms ) ) {
// loop found terms
foreach ($terms as $index => $term) {
// check for certain term, you could also check for $term->slug or $term->term_id
if ( 'Featured' === $term->name ) {
// remove it from the array
unset( $terms[$index] );
}
}
}
return $terms;
}
add_filter( 'get_the_terms', 'filter_get_the_terms', 10, 3 );