The easiest drag & drop form builder for WordPress. Create contact forms, surveys, and lead capture forms in minutes with 38+ fields and 21+ integ …
Category Scores
Issues to Review
Prioritized issue groups from the latest Plugin Check scan
Maintainability
569
13 issue groups
Security
132
9 issue groups
I18n
30
3 issue groups
WARNINGMaintainabilityNon Prefixed Variable FoundGlobal variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$bg_color".234
- Category
- Maintainability
- Occurrences
- 234
- Severity
- warning
Sample message
Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$bg_color".
WARNINGMaintainabilityerror log error logerror_log() found. Debug code should not normally be used in production.124
- Category
- Maintainability
- Occurrences
- 124
- Severity
- warning
Sample message
error_log() found. Debug code should not normally be used in production.
WARNINGMaintainabilityNon Prefixed Hookname FoundHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "ht_contactform_admin_notices".95
- Category
- Maintainability
- Occurrences
- 95
- Severity
- warning
Sample message
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "ht_contactform_admin_notices".
ERRORSecurityOutput Not EscapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$attr['inputHight']['desktop']'.57
- Category
- Security
- Occurrences
- 57
- Severity
- error
Sample message
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$attr['inputHight']['desktop']'.
ERRORMaintainabilitywp function not compatible with requires wpFunction "str_contains()" requires WordPress 5.9.0, but your plugin minimum supported version is WordPress 5.0.0.38
- Category
- Maintainability
- Occurrences
- 38
- Severity
- error
Sample message
Function "str_contains()" requires WordPress 5.9.0, but your plugin minimum supported version is WordPress 5.0.0.
WARNINGMaintainabilityDirect QueryUse of a direct database call is discouraged.26
- Category
- Maintainability
- Occurrences
- 26
- Severity
- warning
Sample message
Use of a direct database call is discouraged.
WARNINGMaintainabilityNo CachingDirect database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().24
- Category
- Maintainability
- Occurrences
- 24
- Severity
- warning
Sample message
Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().
WARNINGSecuritywp redirect wp redirectwp_redirect() found. Using wp_safe_redirect(), along with the "allowed_redirect_hosts" filter if needed, can help avoid any chances of malicious redirects within code. It is also important to remember to call exit() after a redirect so that no other unwanted code is executed.23
- Category
- Security
- Occurrences
- 23
- Severity
- warning
Sample message
wp_redirect() found. Using wp_safe_redirect(), along with the "allowed_redirect_hosts" filter if needed, can help avoid any chances of malicious redirects within code. It is also important to remember to call exit() after a redirect so that no other unwanted code is executed.
ERRORI18nMissing Translators CommentA 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.20
- Category
- I18n
- Occurrences
- 20
- Severity
- error
Sample message
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.
WARNINGSecurityRecommendedProcessing form data without nonce verification.14
- Category
- Security
- Occurrences
- 14
- Severity
- warning
Sample message
Processing form data without nonce verification.
Show 15 moreShow less
WARNINGSecurityInterpolated Not Prepared13
- Category
- Security
- Occurrences
- 13
- Severity
- warning
Sample message
Use placeholders and $wpdb->prepare(); found interpolated variable $placeholders at "UPDATE {$this->table} SET status = %s, viewed_at = %s, updated_at = %s WHERE id IN ($placeholders)"
WARNINGSecurityMissing Unslash9
- Category
- Security
- Occurrences
- 9
- Severity
- warning
Sample message
$_GET['code'] not unslashed before sanitization. Use wp_unslash() or similar
ERRORI18nNon Singular String Literal Text7
- Category
- I18n
- Occurrences
- 7
- Severity
- error
Sample message
The $text parameter must be a single text string literal. Found: "Hello,\n\n" .\n "Your form progress has been saved. You can continue filling out the form by clicking the link below:\n\n" .\n "%1\$s\n\n" .\n "This link will expire on %2\$s.\n\n" .\n "If you did not request this email, you can safely ignore it.\n\n" .\n "Best regards,\n%3\$s"
ERRORMaintainabilityOffloaded Content6
- Category
- Maintainability
- Occurrences
- 6
- Severity
- error
Sample message
Found call to wp_register_script() with external resource. Offloading scripts to your servers or any remote service is disallowed.
WARNINGMaintainabilityMissing Version6
- Category
- Maintainability
- Occurrences
- 6
- Severity
- warning
Sample message
Resource version not set in call to wp_register_script(). This means new versions of the script may not always be loaded due to browser caching.
WARNINGSecurityUnescaped DBParameter5
- Category
- Security
- Occurrences
- 5
- Severity
- warning
Sample message
Unescaped parameter $count_query used in $wpdb->get_var()\n$count_query assigned unsafely at line 181.
ERRORSecurityNot Prepared4
- Category
- Security
- Occurrences
- 4
- Severity
- error
Sample message
Use placeholders and $wpdb->prepare(); found $batch_delete_query
WARNINGSecurityInput Not Validated4
- Category
- Security
- Occurrences
- 4
- Severity
- warning
Sample message
Detected usage of a possibly undefined superglobal array index: $_FILES['ht_form_file']. Check that the array index exists before using it.
ERRORMaintainabilityunlink unlink4
- Category
- Maintainability
- Occurrences
- 4
- Severity
- error
Sample message
unlink() is discouraged. Use wp_delete_file() to delete a file.
ERRORMaintainabilityblock api version too low4
- Category
- Maintainability
- Occurrences
- 4
- Severity
- error
Sample message
Editor blocks must define "apiVersion" 3 or higher in block.json for WordPress 7.0+ iframe editor compatibility.
WARNINGSecurityInput Not Sanitized3
- Category
- Security
- Occurrences
- 3
- Severity
- warning
Sample message
Detected usage of a non-sanitized input variable: $_FILES['ht_form_file']
ERRORI18nText Domain Mismatch3
- Category
- I18n
- Occurrences
- 3
- Severity
- error
Sample message
Mismatched text domain. Expected 'ht-contactform' but got 'cf7-extensions'.
ERRORMaintainabilitybadly named files3
- Category
- Maintainability
- Occurrences
- 3
- Severity
- error
Sample message
File and folder names must not contain spaces or special characters.
ERRORMaintainabilitymissing direct file access protection3
- Category
- Maintainability
- Occurrences
- 3
- Severity
- error
Sample message
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
WARNINGMaintainabilitySchema Change2
- Category
- Maintainability
- Occurrences
- 2
- Severity
- warning
Sample message
Attempting a database schema change is discouraged.
Score History
First score snapshot
v2.9.0
25
Latest
- Findings
- 751
- Errors
- 158
- Warnings
- 593
- Check
- 2.0.0
| Scan | Score | Findings | Errors | Warnings | Plugin | Check |
|---|---|---|---|---|---|---|
| Latest | 25 | 751 | 158 | 593 | v2.9.0 | 2.0.0 |