Ajouter un filtre par catégorie dans l’administration
Afin d’améliorer la gestion des articles dans l’administration de WordPress, découvrez comment ajouter un tri par catégorie/taxonomy.
Dans une précédente astuce, on avait remarqué les lacunes de WordPress par rapport au tri des articles dans l’administration. Pour ceux qui possèdent un blog avec plusieurs contributeurs, on avait vu la méthode à suivre pour ajouter un filtre par auteur.
Aujourd’hui, je vous propose d’ajouter un filtre par catégorie/taxonomy. Quand un site possède énormément d’articles, il est pratique de pouvoir les trier par catégorie pour vos Custom Post Types.
Pour cela, il suffit de copier le code suivant dans le fichier functions.php
de votre thème :
[pastacode lang=”php” message=”” highlight=”” provider=”manual”]
add_action( 'restrict_manage_posts', 'gkp_restrict_manage_posts' );
function gkp_restrict_manage_posts()
{
global $typenow;
if ( $typenow == 'SLUG_YOUR_CPT' )
{
$taxonomy = 'SLUG_YOUR_TAXONOMY';
wp_dropdown_categories(array(
'show_option_all' => 'Voir toutes les catégories',
'taxonomy' => $taxonomy,
'name' => $taxonomy,
'orderby' => 'name',
'selected' => $_GET[$taxonomy],
'hierarchical' => true,
'show_count' => true,
'hide_empty' => true
));
}
}
add_action( 'request', 'gkp_admin_request' );
function gkp_admin_request( $request )
{
if ( is_admin() && isset( $request['post_type'] ) && $request['post_type'] == 'SLUG_YOUR_CPT' )
{
$taxonomy = 'SLUG_YOUR_TAXONOMY';
$request[$taxonomy] = get_term_by( 'id', $request[$taxonomy], $taxonomy)->slug;
}
return $request;
}
[/pastacode]
Voici un aperçu du résultat :
À savoir qu’il est possible de supprimer le nombre d’articles à côté des libellés de vos catégories. Pour cela, vous devez indiqué la valeur false
à la clé show_count
.
PS : N’oubliez pas de remplacer SLUG_YOUR_CPT
et SLUG_YOUR_TAXONOMY
par vos propres valeurs.
8 Commentaires
Je ne comprends pas trop ? Il n’y a pas déjà un filtre de ce type dans la liste de billets ?
Et d’ailleurs, est-ce que quelqu’un peut m’expliquer pourquoi je dois cliquer deux fois sur l’icône de tri dans la colonne date pour afficher les billets du plus vieux au plus récent ?
Pourtant c’est écrit en gros en bleu. Désolé.
@Li-An: Pour les articles, c’est disponible par défaut. Par contre, ce n’est pas disponible avec un Custom Post Type et une Taxonomy perso.
Bonjour,
Je viens d’ajouter le filtre “taxonomies” que tu as proposé dans mon Admin.
Ça marche très bien, merci!
Je cherche maintenant à afficher ces mêmes taxonomies dans les “Options d’écran” à cocher afin de les voir aussi apparaître dans ma liste d’articles au même titre que la date.
Aurais-tu une nouvelle astuce pour y parvenir?
Merci et à bientôt.
@ Ceciko: Les taxonomies sont déjà ajoutées automatiquement dans les options de l’écran :o)
Merci pour cet article très intéressant et très riche qui prouve que WordPress a vraiment d’infinies possibilités.Je trouve que ça permet vraiment de personnaliser l’administration d’un site.
Super astuce qui montre une fois de plus la supériorité de WP par rapport à d’autres plateformes moins faciles d’accès !
hello
Merci pour le tuto!
J’ai juste un bug ( pour un custom post type), lorsque je clic sur le menu déroulant pour voir une de mes catégories ( qui sont toutes affichées avec le nombre) j’ai une page avec aucun résultat !
D’où cela peux t’il venir ,
Merci pour votre réponse!