Paramètre

$post_id(int)optionnel

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

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

get_the_categories

Filtre le tableau de catégories d'un poste.

Où est utilisée 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