Best WordPress contact form, newsletter form and payment form builder without the sucky stuff — lost emails, pesky spam, leaky privacy and outsourced …
Category Scores
Top Issues by Category
security918
maintainability748
i18n68
Issues Details
1,759 issues found in latest scan
All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"{$variable}: {$value}{$unit};\n"'.
Possible use of ASP style short opening tags detected; found: <%=
Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$allowed_tags".
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
Possible use of ASP style opening tags detected; found: <% for (var p = 0; p < parts.length; p ++)...
Processing form data without nonce verification.
Detected usage of a non-sanitized input variable: $_GET[$this->action_archive]
$_GET[$this->action_archive] not unslashed before sanitization. Use wp_unslash() or similar
A function call to __() with texts containing placeholders was found, but was not accompanied by a "translators:" comment on the line above to clarify the meaning of the placeholders.
The $text text string should have translatable content. Found: ''
Processing form data without nonce verification.
Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$length'.
Detected usage of a possibly undefined superglobal array index: $_GET['form_id']. Check that the array index exists before using it.
No PHP code was found in this file and short open tags are not allowed by this install of PHP. This file may be using short open tags but PHP does not allow them.
Stylesheets must be registered/enqueued via wp_enqueue_style()
error_log() found. Debug code should not normally be used in production.
The $text parameter must not contain interpolated variables or expressions. Found: {$existing_part_class}
Multiple placeholders in translatable strings should be ordered. Expected "%1$s, %2$s", but got "%s, %s" in '%s %s imported successfully.'.
Function "get_block_templates()" requires WordPress 5.8.0, but your plugin minimum supported version is WordPress 5.0.0.
Detected usage of meta_query, possible slow query.
| Code | Type | Message | Count |
|---|---|---|---|
| WordPress.Security.EscapeOutput.UnsafePrintingFunction | ERROR | All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'. | 425 |
| WordPress.Security.EscapeOutput.OutputNotEscaped | ERROR | All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"{$variable}: {$value}{$unit};\n"'. | 370 |
| Generic.PHP.DisallowAlternativePHPTags.MaybeASPShortOpenTagFound | WARNING | Possible use of ASP style short opening tags detected; found: <%= | 311 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound | WARNING | Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$allowed_tags". | 182 |
| missing_direct_file_access_protection | ERROR | PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit; | 142 |
| Generic.PHP.DisallowAlternativePHPTags.MaybeASPOpenTagFound | WARNING | Possible use of ASP style opening tags detected; found: <% for (var p = 0; p < parts.length; p ++)... | 83 |
| WordPress.Security.NonceVerification.Recommended | WARNING | Processing form data without nonce verification. | 45 |
| WordPress.WP.I18n.MissingArgDomain | ERROR | Missing $domain parameter in function call to __(). | 30 |
| WordPress.Security.ValidatedSanitizedInput.InputNotSanitized | WARNING | Detected usage of a non-sanitized input variable: $_GET[$this->action_archive] | 27 |
| WordPress.Security.ValidatedSanitizedInput.MissingUnslash | WARNING | $_GET[$this->action_archive] not unslashed before sanitization. Use wp_unslash() or similar | 24 |
| WordPress.WP.I18n.MissingTranslatorsComment | ERROR | A function call to __() with texts containing placeholders was found, but was not accompanied by a "translators:" comment on the line above to clarify the meaning of the placeholders. | 16 |
| WordPress.WP.I18n.NoEmptyStrings | ERROR | The $text text string should have translatable content. Found: '' | 16 |
| WordPress.Security.NonceVerification.Missing | WARNING | Processing form data without nonce verification. | 11 |
| WordPress.DB.DirectDatabaseQuery.DirectQuery | WARNING | Use of a direct database call is discouraged. | 7 |
| WordPress.DB.DirectDatabaseQuery.NoCaching | WARNING | Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete(). | 7 |
| WordPress.Security.EscapeOutput.ExceptionNotEscaped | ERROR | All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$length'. | 7 |
| WordPress.Security.ValidatedSanitizedInput.InputNotValidated | WARNING | Detected usage of a possibly undefined superglobal array index: $_GET['form_id']. Check that the array index exists before using it. | 5 |
| Internal.NoCodeFound | WARNING | No PHP code was found in this file and short open tags are not allowed by this install of PHP. This file may be using short open tags but PHP does not allow them. | 4 |
| WordPress.DB.PreparedSQL.NotPrepared | ERROR | Use placeholders and $wpdb->prepare(); found $query | 4 |
| WordPress.WP.EnqueuedResources.NonEnqueuedStylesheet | ERROR | Stylesheets must be registered/enqueued via wp_enqueue_style() | 4 |
| WordPress.PHP.DevelopmentFunctions.error_log_error_log | WARNING | error_log() found. Debug code should not normally be used in production. | 3 |
| WordPress.WP.I18n.InterpolatedVariableText | ERROR | The $text parameter must not contain interpolated variables or expressions. Found: {$existing_part_class} | 3 |
| WordPress.WP.I18n.UnorderedPlaceholdersText | ERROR | Multiple placeholders in translatable strings should be ordered. Expected "%1$s, %2$s", but got "%s, %s" in '%s %s imported successfully.'. | 3 |
| wp_function_not_compatible_with_requires_wp | ERROR | Function "get_block_templates()" requires WordPress 5.8.0, but your plugin minimum supported version is WordPress 5.0.0. | 3 |
| WordPress.DB.SlowDBQuery.slow_db_query_meta_query | WARNING | Detected usage of meta_query, possible slow query. | 2 |
Latest Snapshot
Findings
1,759
Errors
1,037
Warnings
722
Score History
First score snapshot
First scan completed Jun 20, 2026
v1.26.14 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2
Jun 20, 2026
v1.26.14
22
Latest
- Findings
- 1,759
- Errors
- 1,037
- Warnings
- 722
- Plugin Check
- 2.0.0
- Model
- 2026.06-mvp-static-v2
| Scan | Score | Findings | Errors | Warnings | Plugin | Plugin Check | Model |
|---|---|---|---|---|---|---|---|
| Jun 20, 2026Latest | 22 | 1,759 | 1,037 | 722 | v1.26.14 | 2.0.0 | 2026.06-mvp-static-v2 |