Show post metadata (aka custom fields) in a metabox when editing posts / pages - a great tool for debugging issues with post metadata.
Category Scores
Top Issues by Category
security49
maintainability24
i18n7
Issues Details
81 issues found in latest scan
Processing form data without nonce verification.
$_GET[$key] not unslashed before sanitization. Use wp_unslash() or similar
Detected usage of a non-sanitized input variable: $_POST['meta_key']
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "$filter_prefix . '_load_lib'".
print_r() found. Debug code should not normally be used in production.
Detected usage of a possibly undefined superglobal array index: $_SERVER['PHP_SELF']. Check that the array index exists before using it.
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$metabox_html'.
The $domain parameter must be a single text string literal. Found: $text_domain
The $text parameter must be a single text string literal. Found: $opt_label
error_log() found. Debug code should not normally be used in production.
var_export() found. Debug code should not normally be used in production.
Processing form data without nonce verification.
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
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.
Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().
Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "SuextMinifyCssCompressor".
strip_tags() is discouraged. Use the more comprehensive wp_strip_all_tags() instead.
The parameter "$deprecated = ''" at position #3 of add_option() has been deprecated since WordPress version 2.3.0. Use "" instead.
Using exclusionary parameters, like post__not_in, in calls to get_posts() should be done with caution, see https://wpvip.com/documentation/performance-improvements-by-removing-usage-of-post__not_in/ for more information.
Function "utf8_encode()" requires WordPress 6.9.0, but your plugin minimum supported version is WordPress 6.0.0.
| Code | Type | Message | Count |
|---|---|---|---|
| WordPress.Security.NonceVerification.Recommended | WARNING | Processing form data without nonce verification. | 15 |
| WordPress.Security.ValidatedSanitizedInput.MissingUnslash | WARNING | $_GET[$key] not unslashed before sanitization. Use wp_unslash() or similar | 14 |
| WordPress.Security.ValidatedSanitizedInput.InputNotSanitized | WARNING | Detected usage of a non-sanitized input variable: $_POST['meta_key'] | 10 |
| WordPress.NamingConventions.PrefixAllGlobals.DynamicHooknameFound | WARNING | Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "$filter_prefix . '_load_lib'". | 5 |
| WordPress.PHP.DevelopmentFunctions.error_log_print_r | WARNING | print_r() found. Debug code should not normally be used in production. | 4 |
| WordPress.Security.ValidatedSanitizedInput.InputNotValidated | WARNING | Detected usage of a possibly undefined superglobal array index: $_SERVER['PHP_SELF']. Check that the array index exists before using it. | 4 |
| WordPress.Security.EscapeOutput.OutputNotEscaped | ERROR | All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$metabox_html'. | 3 |
| WordPress.WP.I18n.NonSingularStringLiteralDomain | ERROR | The $domain parameter must be a single text string literal. Found: $text_domain | 3 |
| WordPress.WP.I18n.NonSingularStringLiteralText | ERROR | The $text parameter must be a single text string literal. Found: $opt_label | 3 |
| Squiz.PHP.DiscouragedFunctions.Discouraged | WARNING | The use of function ini_set() is discouraged | 2 |
| WordPress.DB.DirectDatabaseQuery.DirectQuery | WARNING | Use of a direct database call is discouraged. | 2 |
| WordPress.PHP.DevelopmentFunctions.error_log_error_log | WARNING | error_log() found. Debug code should not normally be used in production. | 2 |
| WordPress.PHP.DevelopmentFunctions.error_log_var_export | WARNING | var_export() found. Debug code should not normally be used in production. | 2 |
| WordPress.Security.NonceVerification.Missing | WARNING | Processing form data without nonce verification. | 2 |
| missing_direct_file_access_protection | ERROR | PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit; | 2 |
| PluginCheck.CodeAnalysis.DiscouragedFunctions.load_plugin_textdomainFound | WARNING | 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. | 1 |
| WordPress.DB.DirectDatabaseQuery.NoCaching | WARNING | Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete(). | 1 |
| WordPress.DB.PreparedSQL.NotPrepared | ERROR | Use placeholders and $wpdb->prepare(); found $select_sql | 1 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound | WARNING | Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "SuextMinifyCssCompressor". | 1 |
| WordPress.WP.AlternativeFunctions.strip_tags_strip_tags | ERROR | strip_tags() is discouraged. Use the more comprehensive wp_strip_all_tags() instead. | 1 |
| WordPress.WP.DeprecatedParameters.Add_optionParam3Found | ERROR | The parameter "$deprecated = ''" at position #3 of add_option() has been deprecated since WordPress version 2.3.0. Use "" instead. | 1 |
| WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_post__not_in | WARNING | Using exclusionary parameters, like post__not_in, in calls to get_posts() should be done with caution, see https://wpvip.com/documentation/performance-improvements-by-removing-usage-of-post__not_in/ for more information. | 1 |
| wp_function_not_compatible_with_requires_wp | ERROR | Function "utf8_encode()" requires WordPress 6.9.0, but your plugin minimum supported version is WordPress 6.0.0. | 1 |
Latest Snapshot
Findings
81
Errors
15
Warnings
66
Score History
First score snapshot
First scan completed Jun 20, 2026
v4.9.0 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2
Jun 20, 2026
v4.9.0
40
Latest
- Findings
- 81
- Errors
- 15
- Warnings
- 66
- Plugin Check
- 2.0.0
- Model
- 2026.06-mvp-static-v2
| Scan | Score | Findings | Errors | Warnings | Plugin | Plugin Check | Model |
|---|---|---|---|---|---|---|---|
| Jun 20, 2026Latest | 40 | 81 | 15 | 66 | v4.9.0 | 2.0.0 | 2026.06-mvp-static-v2 |