Query Monitor

Query Monitor is the developer tools panel for WordPress and WooCommerce.

v4.0.6John BlackbournUpdated 2026-04-11Added Nov 19, 2013200k+ installs98% rating30% support resolved
30
Score
45
Errors
272
Warnings
+0
Change

Category Scores

Security0
Repo91
Performance100
Maintainability32

Top Issues by Category

maintainability251
1Non Prefixed Class FoundWordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFoundWARNING1472Non Prefixed Hookname FoundWordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFoundWARNING473missing direct file access protectionmissing_direct_file_access_protectionERROR144parse url parse urlWordPress.WP.AlternativeFunctions.parse_url_parse_urlERROR135Non Prefixed Constant FoundWordPress.NamingConventions.PrefixAllGlobals.NonPrefixedConstantFoundWARNING86prevent path disclosure error reportingWordPress.PHP.DevelopmentFunctions.prevent_path_disclosure_error_reportingWARNING47Non Prefixed Variable FoundWordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFoundWARNING38DiscouragedSquiz.PHP.DiscouragedFunctions.DiscouragedWARNING29error log print rWordPress.PHP.DevelopmentFunctions.error_log_print_rWARNING210Non Enqueued StylesheetWordPress.WP.EnqueuedResources.NonEnqueuedStylesheetERROR211wp function not compatible with requires wpwp_function_not_compatible_with_requires_wpERROR212mysql mysqli errnoWordPress.DB.RestrictedFunctions.mysql_mysqli_errnoERROR113mysql mysqli get client versionWordPress.DB.RestrictedFunctions.mysql_mysqli_get_client_versionERROR114Dynamic Hookname FoundWordPress.NamingConventions.PrefixAllGlobals.DynamicHooknameFoundWARNING115Non Prefixed Function FoundWordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFoundWARNING116Non Prefixed Trait FoundWordPress.NamingConventions.PrefixAllGlobals.NonPrefixedTraitFoundWARNING117error log debug backtraceWordPress.PHP.DevelopmentFunctions.error_log_debug_backtraceWARNING118error log set error handlerWordPress.PHP.DevelopmentFunctions.error_log_set_error_handlerWARNING1
security60
i18n1

Issues Details

317 issues found in latest scan

WARNING147
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound

Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "Debug_Bar".

WARNING47
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "debug_bar_enqueue_scripts".

WARNING20
WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

Detected usage of a non-sanitized input variable: $_ENV['APACHE_RUN_GROUP']

ERROR14
missing_direct_file_access_protection

PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;

ERROR13
WordPress.WP.AlternativeFunctions.parse_url_parse_url

parse_url() is discouraged because of inconsistency in the output across PHP versions; use wp_parse_url() instead.

WARNING11
WordPress.Security.ValidatedSanitizedInput.InputNotValidated

Detected usage of a possibly undefined superglobal array index: $_SERVER['REQUEST_METHOD']. Check that the array index exists before using it.

WARNING11
WordPress.Security.ValidatedSanitizedInput.MissingUnslash

$_SERVER['REMOTE_ADDR'] not unslashed before sanitization. Use wp_unslash() or similar

ERROR10
WordPress.Security.EscapeOutput.OutputNotEscaped

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"<tr{$attr}>"'.

WARNING8
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedConstantFound

Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: &quot;DONOTCACHEPAGE&quot;.

WARNING4
WordPress.PHP.DevelopmentFunctions.prevent_path_disclosure_error_reporting

error_reporting() can lead to full path disclosure.

WARNING4
WordPress.Security.NonceVerification.Missing

Processing form data without nonce verification.

WARNING4
WordPress.Security.NonceVerification.Recommended

Processing form data without nonce verification.

WARNING3
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound

Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: &quot;$debug_bar&quot;.

WARNING2
Squiz.PHP.DiscouragedFunctions.Discouraged

The use of function ini_set() is discouraged

WARNING2
WordPress.PHP.DevelopmentFunctions.error_log_print_r

print_r() found. Debug code should not normally be used in production.

ERROR2
WordPress.WP.EnqueuedResources.NonEnqueuedStylesheet

Stylesheets must be registered/enqueued via wp_enqueue_style()

ERROR2
wp_function_not_compatible_with_requires_wp

Function "wp_get_development_mode()" requires WordPress 6.3.0, but your plugin minimum supported version is WordPress 6.1.0.

WARNING1
PluginCheck.CodeAnalysis.DiscouragedFunctions.load_plugin_textdomainFound

load_plugin_textdomain() has been discouraged since WordPress version 4.6. When your plugin is hosted on WordPress.org, you no longer need to manually include this function call for translations under your plugin slug. WordPress will automatically load the translations for you as needed.

ERROR1
WordPress.DB.RestrictedFunctions.mysql_mysqli_errno

Accessing the database directly should be avoided. Please use the $wpdb object and associated functions instead. Found: mysqli_errno.

ERROR1
WordPress.DB.RestrictedFunctions.mysql_mysqli_get_client_version

Accessing the database directly should be avoided. Please use the $wpdb object and associated functions instead. Found: mysqli_get_client_version.

WARNING1
WordPress.NamingConventions.PrefixAllGlobals.DynamicHooknameFound

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: &quot;{$loader}_loader_src&quot;.

WARNING1
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound

Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: &quot;qm_debug_bar_being_activated&quot;.

WARNING1
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedTraitFound

Traits declared by a theme/plugin should start with the theme/plugin prefix. Found: &quot;QM_ArrayAccess&quot;.

WARNING1
WordPress.PHP.DevelopmentFunctions.error_log_debug_backtrace

debug_backtrace() found. Debug code should not normally be used in production.

WARNING1
WordPress.PHP.DevelopmentFunctions.error_log_set_error_handler

set_error_handler() found. Debug code should not normally be used in production.

Latest Snapshot

Findings

317

Errors

45

Warnings

272

Score History

First score snapshot

First scan completed Jun 19, 2026

v4.0.6 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2

Jun 19, 2026

v4.0.6

30

Latest

Findings
317
Errors
45
Warnings
272
Plugin Check
2.0.0
Model
2026.06-mvp-static-v2

Related Plugins