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
