WP_Query::get_queried_object()

Définition : WP_Query::get_queried_object() est une méthode qui retourne l’objet correspondant au contexte principal d’une requête. Selon la page demandée, il peut s’agir d’une publication, d’un utilisateur, d’une taxonomie ou d’un type de contenu.

Terminologie

Appellation / équivalent : WP_Query::get_queried_object — objet de la requête

Autres appellations : Objet interrogé, Queried object

Comprendre le fonctionnement

Le résultat dépend du type de requête : une archive de catégorie peut renvoyer un WP_Term, une fiche individuelle un WP_Post, une archive d’auteur un WP_User et certaines archives un WP_Post_Type. La méthode peut aussi retourner null lorsque le contexte ne correspond à aucun objet identifiable.

Cette méthode décrit le sujet de la requête, pas la liste complète des publications trouvées. Il faut donc la distinguer de la propriété posts de WP_Query. Pour éviter les erreurs, un code consommateur doit vérifier le type de l’objet reçu avant de lire une propriété, notamment dans un thème compatible avec plusieurs formes d’archives.

Exemple concret

Une page d’archive de catégorie affiche la description du terme interrogé plutôt que celle d’un article de la liste.

Exemple de code commenté

<?php
// Dans un template de catégorie, WordPress est déjà chargé.
if ( is_category() ) {
    $objet = get_queried_object();
    if ( $objet instanceof WP_Term ) {
        echo '<h2>' . esc_html( $objet->name ) . '</h2>';
    }
}

Point technique à retenir

Le type de retour varie : ne pas supposer que l’objet interrogé est systématiquement une publication WP_Post.

Termes associés

  • WP_Query
  • WP_Term
  • WP_Post
  • WP_User

Références officielles

Bouton retour en haut de la page