Toujours dans l'optique de ne pas modifier notre thème actuel, nous allons créer une fonction dans notre plugin de personnalisation. De cette façon, un changement de thème ne fera pas perdre les modifications.
Cette petite fonction permet seulement de cacher la catégorie que j'ai appelé featured, et non pas masqué le contenu de cette catégorie. S'avère pratique lorsque l'on crée une catégorie uniquement dans un but d'administration du contenu, mais que cette catégorie n'a aucun intérêt éditorial.
is_admin permet de ne pas cacher la catégorie "featured" dans l'admin de wordpress, sinon nous ne pourrions plus la gérer. Pour cet exemple, j'ai seulement filtré get_the_categories, qui est le plus couramment utilisé. A vous de l'adapter si vous appelez vos catégories autrement dans votre thème.
//do not display featured category
// Exclude 'featured' category from your blog
function my_get_terms_args_exclude( $args, $taxonomies ) {
if (!is_admin()) {
$cat = get_category_by_slug( 'featured' );
if ( is_object( $cat ) ) {
$args['exclude'] = $cat->term_id;
}
}
return $args;
}
add_filter( 'get_terms_args', 'my_get_terms_args_exclude', 10, 2 );
function my_get_the_terms_exclude( $terms, $post_id, $taxonomy ) {
if (!is_admin() && is_array($terms)) {
$_terms = array();
foreach( $terms as $key => $term ) {
if ($term->slug != 'featured' ) {
$_terms[$key] = $term;
}
}
$terms = $_terms;
unset($_terms);
}
return $terms;
}