Exclure des catégories de votre blog wordpress

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;
}

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.