Pourquoi utiliser WP_Query pour vos requêtes WordPress ?
WP_Query est utile dès que vous voulez
sortir des limites de la boucle classique de WordPress.Grâce à cette fonction,
vous pouvez personnaliser l’affichage des contenus selon vos besoins.Voici quelques cas concrets :
- Afficher les articles d’une seule catégorie
- Créer une galerie de projets à partir d’un contenu personnalisé
- Afficher les contenus dans un ordre précis (par date, par titre, etc.)
- Limiter le nombre d’éléments affichés
- Filtrer les résultats selon des mots-clés ou auteurs
WP_Query vous permet de créer une
requête WordPress sur mesure, sans avoir besoin de tout coder à la main.C’est un
outil clé pour personnaliser l’affichage de votre site.
Comment utiliser la avec WP_Query
Avant de commencer, il faut déterminer comment faire une recherche sur la base de données et il faut passer des
paramètres sous forme d’un tableau. Voici, les options les plus courants que vous pouvez utiliser avec WP_Query pour personnaliser vos requêtes WordPress :
Option | Description |
---|
title | Permet de retrouverle titre d’un article ou page |
post_type | Permet de définir le type de contenu à afficher (articles, pages, ou types personnalisés). |
posts_per_page | Contrôle le nombre d’éléments à afficher. Par exemple, pour ne montrer que les 5 derniers articles. |
category_name | Filtre les contenus selon une catégorie spécifique en utilisant son identifiant (slug). |
orderby | Indique le critère de tri : par date, par titre, de façon aléatoire, etc. |
order | Définit l’ordre du tri : croissant (ASC) ou décroissant (DESC). |
no_found_rows | Améliore les performances si vous n’avez pas besoin de pagination. |
Ces options sont les bases essentielles pour bien démarrer avec WP_Query.En les combinant, vous pouvez créer des affichages sur mesure dans n’importe quelle partie de votre site WordPress.Allez faire un tour sur le handbook de wp pour en apprendre plus sur les options de
wp query()
Comment utiliser WP_Query ?
Avant tout chose, pour modifier ou ajouter des lignes de code. WordPress
nous conseille de venir
écrire du code personnaliser en PHP dans un thème enfant ou dans une extension .
Exemple 1 : faire une simple requête WordPress pour afficher les derniers articles
Ici, on demande à WordPress d’afficher les 5 derniers articles du blog (avec l’option
post_per_page),Puis en utilisant la boucle WordPress, on extrait le
titre (the_title()) et l
‘extrait (the excerpt()) de l’article. Puis les résultats seront retournés dans un bloc HTML que vous pouvez aussi personnaliser.C’est une requête très simple et très utile.
$args = array(
'post_type' => 'post',
'posts_per_page' => 5,
);
$query = new WP_Query($args);
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
the_title('<h2>', '</h2>');
the_excerpt();
}
wp_reset_postdata();
} else {
echo 'Aucun article trouvé.';
}
Exemple 2 : requête WP_Query pour filtrer par catégorie
Avec cet exemple, on va demander de trouver uniquement les trois derniers articles (post_per_page) de la catégorie (category_name) « actualités ».
$args = array(
'category_name' => 'actualites',
'posts_per_page' => 3,
);
$query = new WP_Query($args);
Exemple 3 : WP_Query complexe
Ici, on affiche les 4 derniers éléments du type « post « , qui ont un statut « publié » qui serait ranger dans l’ordre décroisant en fonction de la date de publication.
$args = array(
// Type de publication : article
'post_type' => 'post',
// Nombre d'articles à récupérer
'posts_per_page' => 4,
// Uniquement les articles publiés
'post_status' => 'publish',
// Trier par date de publication
'orderby' => 'date',
// Ordre décroissant
'order' => 'DESC',
);
$query = new WP_Query($args);
Optimiser vos requêtes WordPress avec WP_Query pour de meilleures performances
Même si WP_Query est très puissant, il peut ralentir votre site s’il est mal utilisé. Voici quelques bonnes pratiques pour créer des requêtes WordPress performantes.
Limiter le nombre de résultats dans une requête WP_Query
'posts_per_page' => 6
Évitez de charger trop de contenus à la fois. Un nombre limité comme 6 ou 9 suffit dans la majorité des cas.
Désactiver les calculs inutiles dans une requête WordPress
'no_found_rows' => true
Si vous n’utilisez pas la pagination, ajoutez ce paramètre pour accélérer la requête. Cela évite à WordPress de calculer le nombre total de pages.
Exemple complet de WP_Query optimisé
$args = array(
'post_type' => 'post',
'category_name' => 'evenements',
'posts_per_page' => 4,
'no_found_rows' => true,
'orderby' => 'date',
'order' => 'DESC',
);
$query = new WP_Query($args);
Cette requête WordPress permet d’afficher les 4 derniers articles de la catégorie « evenements », triés du plus récent au plus ancien, tout en restant rapide et légère.
Conclusion : ce que WP_Query change dans vos requêtes WordPress
WP_Query est l’un des outils les plus utiles dans WordPress pour construire un site dynamique et sur mesure. Grâce à lui, vous pouvez créer des
requêtes WordPress précises et afficher les bons contenus, au bon endroit, selon vos règles.En suivant les bonnes pratiques vues ici, vous pourrez optimiser vos pages, améliorer les performances de votre site, et proposer une expérience de navigation claire et personnalisée à vos visiteurs.Prenez le temps de tester WP_Query dans différents contextes, et vous verrez à quel point il peut transformer votre façon de construire avec WordPress.