Sélectionner une page

Chargement en cours...

WP_Query : optimiser vos requêtes dans WordPress

08/05/2025 à 12:57

Écrit par Johanny

WordPress

Intermediaire

45 vues

Sommaire

Lorsque vous créez un site avec WordPress, il est très fréquent que vous souhaitiez afficher des contenus précis : par exemple, les trois derniers articles d’une catégorie, tous les projets d’un portfolio ou une sélection d’événements. Mais le module de votre constructeur de page ou le plugin qui gère les requêtes, ne vous le permets pas. La boucle WordPress par défaut ne permet pas toujours cette flexibilité. C’est là que WP_Query intervient. Cette fonction vous permet de créer une requête personnalisée dans WordPress, pour afficher exactement ce que vous voulez, quand vous le voulez, et où vous le voulez.

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 :
OptionDescription
titlePermet de retrouverle titre d’un article ou page
post_typePermet de définir le type de contenu à afficher (articles, pages, ou types personnalisés).
posts_per_pageContrôle le nombre d’éléments à afficher. Par exemple, pour ne montrer que les 5 derniers articles.
category_nameFiltre les contenus selon une catégorie spécifique en utilisant son identifiant (slug).
orderbyIndique le critère de tri : par date, par titre, de façon aléatoire, etc.
orderDéfinit l’ordre du tri : croissant (ASC) ou décroissant (DESC).
no_found_rowsAmé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.

Cette article t'a plu ?

Ajoute le premier commentaire

0 Commentaires
Le plus récent
Le plus ancien Le plus populaire
Commentaires en ligne
Afficher tous les commentaires

Rechercher sur le site: