get_the_category( int $post_id = false )
Retourne les catégories d'un poste.
Paramètre
$post_id(int)optionnelId du poste. Par défaut, l'id du poste actuel.
Valeur par défaut : false
Description / Informations supplémentaires
Cette fonction peut être utilisée en dehors d'une boucle en passant l'id du poste.
Retourne seulement les résultats de la taxonomie par défaut 'category'. Pour des taxonomies personnalisées, utiliser plutôt get_the_terms().
Retourne
(WP_Term[]) Tableau d'objets WP_Term, un pour chaque catégorie assignée au poste.
Déclaration et structure de la fonction get_the_category()
get_the_category() est déclarée dans le fichier wp-includes/category-template.php à la ligne 77 :
function get_the_category( $post_id = false ) {
$categories = get_the_terms( $post_id, 'category' );
if ( ! $categories || is_wp_error( $categories ) ) {
$categories = array();
}
$categories = array_values( $categories );
foreach ( array_keys( $categories ) as $key ) {
_make_cat_compat( $categories[ $key ] );
}
/**
* Filters the array of categories to return for a post.
*
* @since 3.1.0
* @since 4.4.0 Added the `$post_id` parameter.
*
* @param WP_Term[] $categories An array of categories to return for the post.
* @param int|false $post_id The post ID.
*/
return apply_filters( 'get_the_categories', $categories, $post_id );
}
Fonctions utilisées par get_the_category()
get_the_terms()Retourne les termes d'une taxonomie attachés à un poste.
_make_cat_compat()Met à jour la structure d'une catégorie de la nouvelle structure de taxonomie vers l'ancienne structure de la version 2.3.
apply_filters()Appel les fonctions qui ont été attaché à un filtre (hook).
is_wp_error()Vérifie si la variable est une erreur WordPress.
Hook utilisé par get_the_category()
get_the_categoriesFiltre le tableau de catégories d'un poste.
Où est utilisée la fonction get_the_category()
dans le CMS WordPress
Exemples
$categories = get_the_category();
if ( ! empty( $categories ) ) {
echo esc_html( $categories[0]->name );
}
$categories = get_the_category();
if ( ! empty( $categories ) ) {
echo '<a href="' . esc_url( get_category_link( $categories[0]->term_id ) ) . '">' . esc_html( $categories[0]->name ) . '</a>';
}
Sources
Codex WordPress : get_the_category()
Autres fonctions dans le même fichier : wp-includes/category-template.php