Description
Query Monitor is the developer tools panel for WordPress and WooCommerce. It enables debugging of database queries, PHP errors, hooks and actions, block editor blocks, enqueued scripts and stylesheets, HTTP API calls, and more.
Il comprend des fonctionnalités avancées telles que le débogage des appels Ajax, des appels API REST, des vérifications des capacités de l’utilisateur/utilisatrice, ainsi qu’une prise en charge complète des thèmes en bloc et de l’édition complète du site. Il permet de limiter la plupart des résultats par extension ou thème, ce qui vous permet de déterminer rapidement les extensions, thèmes ou fonctions peu performantes.
Query Monitor se concentre fortement sur la présentation de ses informations d’une manière utile, par exemple en affichant des requêtes de base de données agrégées groupées par extensions, thème ou les fonctions qui en sont responsables. Il ajoute un menu de la barre d’outils de l’admin affichant une vue d’ensemble de la page actuelle, avec des informations de débogage complètes affichées dans des panneaux une fois que vous avez sélectionné un élément de menu.
Query Monitor prend en charge les versions de WordPress datant de moins de trois ans et la version 7.4 ou supérieure de PHP.
Pour des informations complètes, veuillez consulter le site Web de Query Monitor.
Voici un aperçu de ce qui s’affiche à chaque chargement de page :
- Requêtes de base de données, y compris les notifications pour les requêtes lentes, en double ou erronées. Permet le filtrage par type de requête (
SELECT,UPDATE,DELETE, etc), par composant responsable (plugin, thème, noyau WordPress), et par fonction appelante, et fournit des vues agrégées séparées pour chacun. - Le nom du fichier du modèle, la hiérarchie des fichiers modèles et les noms de toutes les parties du modèle qui ont été chargées ou non (pour les thèmes de blocs et les thèmes classiques).
- Les erreurs PHP sont joliment présentées avec le composant responsable et la pile d’appels, ainsi qu’un avertissement visible dans la barre d’outils de l’admin.
- Utilisation de la fonctionnalité « Doing it Wrong » ou « Deprecated » dans le code de votre site.
- Blocs et propriétés associées dans le contenu des publications et dans l’éditeur de site (FSE).
- Correspondance entre les règles de réécriture, les chaînes de requête associées et les variables de requête.
- Les scripts et feuilles de style en attente, ainsi que leurs dépendances, les dépendances et les alertes pour les dépendances brisées.
- Réglages linguistiques et fichiers de traduction chargés (fichiers MO et fichiers JSON) pour chaque domaine de texte.
- API HTTP demandes, avec code de réponse, composant responsable et temps pris, avec des alertes pour échec ou erreur demandes.
- ilisateur des contrôles de capacité, ainsi que le résultat et tout autre paramètres passé au contrôle de capacité.
- Informations sur l’environnement, y compris des informations détaillées sur PHP, la base de données, WordPress et le serveur web.
- Les valeurs de toutes les fonctions conditionnelles de WordPress telles que
is_single(),is_home(), etc. - Transitions qui ont été mises à jour.
- Utilisation de
switch_to_blog()etrestore_current_blog()sur les installations multisite.
De plus :
- Chaque fois qu’une redirection se produit, Query Monitor ajoute un entête HTTP contenant la pile d’appels, afin que vous puissiez utiliser votre inspecteur HTTP favori ou les outils de développement du navigateur pour retracer ce qui a déclenché la redirection.
- La réponse de toute requête Ajax initiée par jQuery- sur la page contiendra diverses informations de débogage dans ses en-têtes. Les erreurs PHP sont également affichées dans la console de développement du navigateur.
- La réponse d’une demande authentifié WordPress API REST contiendra un aperçu des informations de performance et erreurs PHP dans son en-têtes, tant que l’utilisateur/utilisatrice authentifié a autorisation à voir les sorties de Query Monitor. Une une demande d’API REST enveloppée inclura encore plus d’informations de débogage dans le
qmpropriété de la réponse.
Par défaut, la sortie de Query Monitor n’est affichée qu’aux administrateurs et administratrices sur les installations à site unique, et aux super admins sur les installations multisites.
En plus de cela, vous pouvez définir un cookie d’authentification qui vous permet de voir la sortie de Query Monitor lorsque vous hors connexion (ou si vous êtes connecté en tant que non-administrateur). Voir le panneau des réglages pour plus de détails.
Autres extensions
Je maintiens plusieurs autres extensions pour les développeurs/développeuses. Découvrez-les ici :
- User Switching permet de passer instantanément d’un compte à l’autre dans WordPress.
- WP Crontrol permet de voir et de contrôler ce qui se passe dans le système WP-Cron
Déclaration de confidentialité
Query Monitor est confidentiel par défaut et le sera toujours. Il ne stocke de manière persistante aucune des données qu’il collecte. Il n’envoie de données à aucun tiers et n’inclut aucune ressource tierce. La déclaration de confidentialité de Query Monitor peut être trouvée ici.
Déclaration d’accessibilité
Query Monitor a pour objectif d’être entièrement accessible à tous ses utilisateurs et utilisatrices. La déclaration d’accessibilité de Query Monitor peut être trouvée ici.
Captures d’écrans
FAQ
-
Cette extension fonctionne-t-elle avec PHP 8 ?
-
Oui, il est activement testé et fonctionne jusqu’à PHP 8.4.
-
Who can see Query Monitor’s output?
-
Par défaut, la sortie de Query Monitor n’est affichée qu’aux administrateurs et administratrices sur les installations à site unique, et aux super admins sur les installations multisites.
En outre, vous pouvez définir un cookie d’authentification qui vous permet d’afficher la sortie de Query Monitor lorsque vous n’êtes pas connecté, ou lorsque vous êtes connecté en tant qu’utilisateur/utilisatrice qui ne peut généralement pas voir la sortie de Query Monitor. Voir le panneau Réglages pour plus de détails.
-
Est-ce que Query Monitor lui-même a un impact sur le temps de génération des pages ou sur l’utilisation de la mémoire ?
-
Réponse courte : oui, mais uniquement un peu.
Réponse longue : Query Monitor a un impact limité sur le temps de génération des pages car il s’accroche à quelques endroits de WordPress de la même manière que les autres extensions le font. L’impact est négligeable.
Sur les pages qui comportent un nombre particulièrement élevé de requêtes de base de données (des centaines), Query Monitor utilise actuellement plus de mémoire que je ne le souhaiterais. Cela est dû à la quantité de données capturées dans la trace de pile pour chaque requête. J’ai travaillé et je continuerai à travailler pour réduire cela.
-
Puis-je empêcher Query Monitor de collecter des données pendant des demandes de longue durée ?
-
Yes, you can call
do_action( 'qm/cease' )to instruct Query Monitor to cease operating for the remainder of the page generation. It will detach itself from further data collection, discard any data it’s collected so far, and skip the output of its information.Cette fonction est utile pour les opérations de longue durée qui exécutent un très grand nombre de requêtes de base de données, qui consomment beaucoup de mémoire ou qui ne concernent pas le moniteur de requêtes, par exemple :
- Sauvegarder ou restaurer votre site
- Importer ou exporter une grande quantité de données
- Exécution d’analyses de sécurité
-
Y a-t-il des modules pour Query Monitor ?
-
La liste des extensions complémentaires pour Query Monitor peut être trouvée ici.
En outre, Query Monitor prend en charge de manière transparente les modules complémentaires pour l’extension Debug Bar. Si des modules complémentaires de Debug Bar sont installés, désactivez Debug Bar et les modules complémentaires s’afficheront dans le menu de Query Monitor.
-
Où puis-je suggérer une nouvelle fonctionnalité ou signaler un bogue ?
-
Veuillez utiliser le suivi des problèmes sur le repo GitHub de Query Monitor car il est plus facile de suivre les problèmes à cet endroit, plutôt que sur les forums d’assistance de wordpress.org.
-
Query Monitor est-il déjà inclus dans mon hébergement ?
-
Certains hébergeurs incluent Query Monitor à leur plateforme d’hébergement, ce qui signifie que vous n’avez pas besoin de l’installer de votre coté. En voici quelques-uns :
- Altis Cloud.
- WordPress VIP, bien que les utilisateurs et utilisatrices doivent bénéficier de la permission
view_query_monitormême s’ils sont un administrateur ou administratrice. Voir la documentation de WordPress VIP pour plus de détails.
-
Puis-je cliquer sur les traces de pile pour ouvrir le fichier dans mon éditeur ?
-
Oui, vous pouvez l’activer dans le panneau des Réglages.
-
Comment puis-je signaler un bogue de sécurité ?
-
Vous pouvez signaler des bogues de sécurité via le programme officiel de divulgation des vulnérabilités de Query Monitor sur Patchstack. L’équipe de Patchstack aide à valider, trier et traiter les vulnérabilités de sécurité.
-
Acceptez-vous des dons ?
-
J’accepte les parrainages via le programme GitHub Sponsors. Si vous travaillez dans une agence qui développe avec WordPress, demandez à votre entreprise de fournir un parrainage afin d’investir dans sa chaîne d’approvisionnement. Les outils que je maintiens permettent probablement à votre entreprise d’économiser du temps et de l’argent, et le parrainage GitHub peut désormais se faire au niveau de l’organisation.
De plus, si vous aimez cette extension, j’aimerais que vous laissiez un avis. Parlez-en aussi à vos amis !
Avis
Contributeurs/contributrices & développeurs/développeuses
« Query Monitor – Le panneau d’outils de développement pour WordPress. » est un logiciel libre. Les personnes suivantes ont contribué à cette extension.
Contributeurs“Query Monitor – Le panneau d’outils de développement pour WordPress.” a été traduit dans 26 locales. Remerciez l’équipe de traduction pour ses contributions.
Le développement vous intéresse ?
Parcourir le code, consulter le SVN dépôt, ou s’inscrire au journal de développement par RSS.
Journal des modifications
3.20.2 (11 December 2025)
- Prevents a PHP error being triggered under certain conditions and when no database queries are performed.
3.20.1 (8 December 2025)
- Confirms support for WordPress 6.9.
- Removes calls to deprecated
jQuery.focus()method. - Add line breaks to HTML output to keep your browser happy when viewing the page source.
3.20.0 (7 September 2025)
- Defers loading of translation files as late as possible to minimise the chance of triggering the
Translation loading for the query-monitor domain was triggered too earlyerror - Implements some initial compatibility tweaks for the upcoming PHP 8.5
3.19.0 (23 July 2025)
- Adds Guzzle middleware support for logging HTTP client requests.
- Fixes plugin conflicts caused by the global
qmJavaScript variable by renaming it toQueryMonitorData. - Corrects invalid HTML markup where
<th>elements were closed with</td>tags.
3.18.0 (16 June 2025)
- Adds more comprehensive handling of HTTP API requests which were overridden by the
pre_http_requestfilter. - Corrects the handling of suppressed PHP errors on both PHP 7 and PHP 8.
- Confirms support for WordPress 6.8.
3.17.2 (4 February 2025)
- Reinstates the « Blocks » panel
3.17.1 (2 February 2025)
- Prevents use of the deprecated
E_STRICTconstant in PHP 8.4. - Avoids use of the deprecated
setted_transientandsetted_site_transientactions in WordPress 6.8. - Skips showing the
_load_textdomain_just_in_timenotices when they’re caused by Query Monitor itself. - Uses more appropriate formatting for a fatal error in REST API and Ajax contexts.
3.17.0 (27 November 2024)
- Support for WordPress 6.7.
- Support for PHP 8.4.
- Inline scripts are now output using
wp_print_inline_script_tag()so a Content Security Policy can be fully implemented. - Various improvements and fixes.
3.16.4 (25 July 2024)
- Confirms support for WordPress 6.6.
3.16.3 (22 May 2024)
- Prevents an infinite loop when logging doing it wrong calls and deprecated calls.
- Removes a global from query-monitor.php
Earlier versions
For the changelog of earlier versions, refer to the releases page on GitHub.







