Description

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().

Paramètre

$post_id

(int) (Optionnel) Id du poste. Par défaut, l'id du poste actuel.

Valeur par défaut : false

Retourne

(WP_Term[]) Tableau d'objets WP_Term, un pour chaque catégorie assignée au poste.

Structure de la fonction get_the_category()

Définie 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 `$post_id` parameter.
     *
     * @param WP_Term[] $categories An array of categories to return for the post.
     * @param int|false $post_id    ID of the post.
     */
    return apply_filters( 'get_the_categories', $categories, $post_id );
}

Fonctions et Hook utilisés par get_the_category()

get_the_terms()

Retourne les termes d'une taxonomie attachés à un poste.

get_the_categories

Filtre le tableau de catégories d'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.

Où trouver la fonction get_the_category() dans le CMS Wordpress

Exemples

Monter la première catégorie seulement :
$categories = get_the_category();
 
if ( ! empty( $categories ) ) {
    echo esc_html( $categories[0]->name );   
}
Faire un lien de la première catégorie vers sa page :
$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

Retour