Afficher la liste des catégories ( List custom posts types taxonomy )
Facile

Afficher la liste des catégories ( List custom posts types taxonomy ) : Pour ce tutoriel il est important que votre custom post type soit doté d’un register_taxonomy WordPress. Voir ici
Voici donc une belle façon très simple d’afficher la liste des catégories d’un custom post type.
Par défaut nous pouvons demander d’afficher les catégories des articles avec le wp_list_categories.

1
<?php wp_list_categories(); ?>

Maintenant voici un exemple d’un register_taxonomy et la taxonomie qui doit être récupérée. Dans celui ci c’est collaborateurs_cat.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Catégories custom post type
/* Voici donc la taxonomie */
register_taxonomy( 'collaborateurs_cat', 
/* nom du custom post type */
array('collaborateurs'), 
array('hierarchical' => true,
'labels' => array(
'name' => __( 'Catégories', 'nom du theme' ),
'singular_name' => __( 'Catégories', 'nom du theme' ),
'search_items' => __( 'Rechercher une catégorie', 'nom du theme' ),
'all_items' => __( 'Toutes les catégories', 'nom du theme' ),
'parent_item' => __( 'Catégorie parente', 'nom du theme' ),
'parent_item_colon' => __( 'Catégorie parente :', 'nom du theme' ),
'edit_item' => __( 'Éditer une catégorie', 'nom du theme' ),
'update_item' => __( 'Sauvegarder une catégorie', 'nom du theme' ),
'add_new_item' => __( 'Ajouter une catégorie', 'nom du theme' ),
'new_item_name' => __( 'Nouvelle catégorie', 'nom du theme' )
),
'show_admin_column' => true,
'show_ui' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'collaborateurs' ),
)
);

Il va falloir le personnaliser pour afficher les catégories taxonomy du custom post type. La solution est d’aller exploiter sa taxonomie. Construisons le get_terms.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
// Récupérer la taxonomie dans une variable
$taxonomy = 'collaborateurs_cat';
// Variable avec le get_terms
$tax_terms = get_terms($taxonomy, array('hide_empty' => false));
?>
<ul>
<?php
// La boucle d’affichage
foreach ($tax_terms as $tax_term) {
echo '<li>' . '<a href="' . esc_attr(get_term_link($tax_term, $taxonomy)) . '" title="' . sprintf( __( "Voir tous les … in %s" ), $tax_term->name ) . '" ' . '>' . $tax_term->name.'</a> </li>';
}
?>
</ul>

Leave a Reply

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>