WP_Query

Définition : WP_Query est la classe du cœur de WordPress chargée de rechercher les publications selon des paramètres précis. Elle alimente la requête principale et permet également de créer des requêtes personnalisées.

Terminologie

Appellation / équivalent : WP_Query — classe des requêtes de publications

Autres appellations : Classe de requête WordPress, Requête WordPress

Comprendre le fonctionnement

WP_Query transforme des paramètres, tels que post_type, posts_per_page ou orderby, en une recherche des publications correspondant aux critères. La classe est au centre de la requête principale et peut également être instanciée pour afficher une liste secondaire.

Dans une boucle personnalisée, have_posts() indique s’il reste des éléments et the_post() prépare le contexte du contenu courant. Après avoir utilisé the_post() avec une instance secondaire, wp_reset_postdata() restaure les données globales de la publication courante de la requête principale.

Exemple concret

Afficher les trois derniers articles publiés dans un bloc de contenu sans remplacer la requête principale de la page.

Exemple de code commenté

<?php
// À placer dans un contexte WordPress déjà chargé (ex. template).
$articles = new WP_Query( array(
    'post_type'      => 'post',
    'post_status'    => 'publish',
    'posts_per_page' => 3,
) );

if ( $articles->have_posts() ) {
    echo '<ul>';
    while ( $articles->have_posts() ) {
        $articles->the_post();
        // Échappement avant affichage HTML.
        echo '<li>' . esc_html( get_the_title() ) . '</li>';
    }
    echo '</ul>';
}

// Restaure le contexte après la boucle secondaire.
wp_reset_postdata();

Point technique à retenir

Extrait pédagogique non exécuté sur ATOOLPHA. Ne pas confondre new WP_Query() avec la fonction globale query_posts(), généralement déconseillée.

Termes associés

  • WP
  • WP_Query::get_posts()
  • WP_Query::parse_query()
  • Cycle de requête

Références officielles

Bouton retour en haut de la page