Make your store multilingual and enable multiple currencies.
Category Scores
Top Issues by Category
security2,224
maintainability694
Issues Details
3,071 issues found in latest scan
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
Processing form data without nonce verification.
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$argument'.
$_COOKIE[$name] not unslashed before sanitization. Use wp_unslash() or similar
Processing form data without nonce verification.
Use placeholders and $wpdb->prepare(); found interpolated variable $currency at \t\t\t\t\tWHERE meta_key IN ('_price', '_regular_price', '_sale_price', '_price_$currency', '_regular_price_$currency', '_sale_price_$currency')\n
Detected usage of a non-sanitized input variable: $_COOKIE[$name]
Unescaped parameter $fieldsInQuery used in $wpdb->get_results()\n$fieldsInQuery assigned unsafely at line 26.
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"Template: {$name}\n"'.
trigger_error() found. Debug code should not normally be used in production.
Detected usage of a possibly undefined superglobal array index: $_COOKIE['woocommerce_items_in_cart']. Check that the array index exists before using it.
Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().
Mismatched text domain. Expected 'woocommerce-multilingual' but got 'sitepress'.
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "$hook".
Detected usage of meta_key, possible slow query.
Detected usage of meta_value, possible slow query.
Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$currency".
The $text parameter must be a single text string literal. Found: $heading
date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.
Incorrect number of replacements passed to $wpdb->prepare(). Found 1 replacement parameters, expected 2.
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "default_product_type".
All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.
mt_rand() is discouraged. Use the far less predictable wp_rand() instead.
| Code | Type | Message | Count |
|---|---|---|---|
| WordPress.DB.PreparedSQL.NotPrepared | ERROR | Use placeholders and $wpdb->prepare(); found $args | 546 |
| missing_direct_file_access_protection | ERROR | PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit; | 374 |
| WordPress.Security.NonceVerification.Recommended | WARNING | Processing form data without nonce verification. | 294 |
| WordPress.Security.EscapeOutput.ExceptionNotEscaped | ERROR | All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$argument'. | 263 |
| WordPress.Security.ValidatedSanitizedInput.MissingUnslash | WARNING | $_COOKIE[$name] not unslashed before sanitization. Use wp_unslash() or similar | 209 |
| WordPress.Security.NonceVerification.Missing | WARNING | Processing form data without nonce verification. | 200 |
| WordPress.DB.PreparedSQL.InterpolatedNotPrepared | WARNING | Use placeholders and $wpdb->prepare(); found interpolated variable $currency at \t\t\t\t\tWHERE meta_key IN ('_price', '_regular_price', '_sale_price', '_price_$currency', '_regular_price_$currency', '_sale_price_$currency')\n | 185 |
| WordPress.Security.ValidatedSanitizedInput.InputNotSanitized | WARNING | Detected usage of a non-sanitized input variable: $_COOKIE[$name] | 176 |
| PluginCheck.Security.DirectDB.UnescapedDBParameter | WARNING | Unescaped parameter $fieldsInQuery used in $wpdb->get_results()\n$fieldsInQuery assigned unsafely at line 26. | 141 |
| WordPress.Security.EscapeOutput.OutputNotEscaped | ERROR | All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"Template: {$name}\n"'. | 129 |
| WordPress.PHP.DevelopmentFunctions.error_log_trigger_error | WARNING | trigger_error() found. Debug code should not normally be used in production. | 96 |
| WordPress.Security.ValidatedSanitizedInput.InputNotValidated | WARNING | Detected usage of a possibly undefined superglobal array index: $_COOKIE['woocommerce_items_in_cart']. Check that the array index exists before using it. | 65 |
| WordPress.DB.DirectDatabaseQuery.DirectQuery | WARNING | Use of a direct database call is discouraged. | 61 |
| WordPress.DB.DirectDatabaseQuery.NoCaching | WARNING | Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete(). | 60 |
| WordPress.WP.I18n.TextDomainMismatch | ERROR | Mismatched text domain. Expected 'woocommerce-multilingual' but got 'sitepress'. | 49 |
| WordPress.NamingConventions.PrefixAllGlobals.DynamicHooknameFound | WARNING | Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "$hook". | 23 |
| WordPress.DB.SlowDBQuery.slow_db_query_meta_key | WARNING | Detected usage of meta_key, possible slow query. | 20 |
| WordPress.DB.SlowDBQuery.slow_db_query_meta_value | WARNING | Detected usage of meta_value, possible slow query. | 17 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound | WARNING | Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$currency". | 15 |
| WordPress.WP.I18n.NonSingularStringLiteralText | ERROR | The $text parameter must be a single text string literal. Found: $heading | 14 |
| WordPress.DateTime.RestrictedFunctions.date_date | ERROR | date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead. | 13 |
| WordPress.DB.PreparedSQLPlaceholders.ReplacementsWrongNumber | WARNING | Incorrect number of replacements passed to $wpdb->prepare(). Found 1 replacement parameters, expected 2. | 9 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound | WARNING | Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "default_product_type". | 8 |
| WordPress.Security.EscapeOutput.UnsafePrintingFunction | ERROR | All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'. | 7 |
| WordPress.WP.AlternativeFunctions.rand_mt_rand | ERROR | mt_rand() is discouraged. Use the far less predictable wp_rand() instead. | 7 |
Latest Snapshot
Findings
3,071
Errors
1,453
Warnings
1,618
Score History
First score snapshot
First scan completed Jun 19, 2026
v5.5.6 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2
Jun 19, 2026
v5.5.6
24
Latest
- Findings
- 3,071
- Errors
- 1,453
- Warnings
- 1,618
- Plugin Check
- 2.0.0
- Model
- 2026.06-mvp-static-v2
| Scan | Score | Findings | Errors | Warnings | Plugin | Plugin Check | Model |
|---|---|---|---|---|---|---|---|
| Jun 19, 2026Latest | 24 | 3,071 | 1,453 | 1,618 | v5.5.6 | 2.0.0 | 2026.06-mvp-static-v2 |