Free WordPress Text to Speech plugin with AI voices. Add an audio player to WordPress posts, pages and WooCommerce products to improve accessibility.
Category Scores
Issues to Review
Prioritized issue groups from the latest Plugin Check scan
Security
792
12 issue groups
Maintainability
289
11 issue groups
I18n
79
2 issue groups
ERRORSecurityOutput Not EscapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$admin_display_link'.624
- Category
- Security
- Occurrences
- 624
- Severity
- error
Sample message
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$admin_display_link'.
WARNINGMaintainabilityNon Prefixed Variable FoundGlobal variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$agent".213
- Category
- Maintainability
- Occurrences
- 213
- Severity
- warning
Sample message
Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$agent".
ERRORI18nText Domain MismatchMismatched text domain. Expected 'gspeech' but got ' '.77
- Category
- I18n
- Occurrences
- 77
- Severity
- error
Sample message
Mismatched text domain. Expected 'gspeech' but got ' '.
ERRORSecurityUnsafe Printing FunctionAll output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.71
- Category
- Security
- Occurrences
- 71
- Severity
- error
Sample message
All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.
WARNINGMaintainabilityDirect QueryUse of a direct database call is discouraged.20
- Category
- Maintainability
- Occurrences
- 20
- 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().20
- Category
- Maintainability
- Occurrences
- 20
- Severity
- warning
Sample message
Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().
ERRORSecurityNot PreparedUse placeholders and $wpdb->prepare(); found $prepared18
- Category
- Security
- Occurrences
- 18
- Severity
- error
Sample message
Use placeholders and $wpdb->prepare(); found $prepared
WARNINGSecurityRecommendedProcessing form data without nonce verification.18
- Category
- Security
- Occurrences
- 18
- Severity
- warning
Sample message
Processing form data without nonce verification.
ERRORSecurityUnescaped DBParameterUnescaped parameter $prepared used in $wpdb->query()\n$prepared assigned unsafely at line 196.17
- Category
- Security
- Occurrences
- 17
- Severity
- error
Sample message
Unescaped parameter $prepared used in $wpdb->query()\n$prepared assigned unsafely at line 196.
WARNINGSecurityInput Not SanitizedDetected usage of a non-sanitized input variable: $_GET[$this->prefix . '_admin_notice_ignore']17
- Category
- Security
- Occurrences
- 17
- Severity
- warning
Sample message
Detected usage of a non-sanitized input variable: $_GET[$this->prefix . '_admin_notice_ignore']
Show 15 moreShow less
WARNINGSecurityMissing Unslash15
- Category
- Security
- Occurrences
- 15
- Severity
- warning
Sample message
$_GET[$this->prefix . '_admin_notice_ignore'] not unslashed before sanitization. Use wp_unslash() or similar
WARNINGMaintainabilityNot In Footer10
- Category
- Maintainability
- Occurrences
- 10
- Severity
- warning
Sample message
In footer ($in_footer) is not set explicitly wp_enqueue_script; It is recommended to load scripts in the footer. Please set this value to `true` to load it in the footer, or explicitly `false` if it should be loaded in the header.
ERRORMaintainabilitydate date5
- Category
- Maintainability
- Occurrences
- 5
- Severity
- error
Sample message
date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.
WARNINGSecurityInput Not Validated5
- Category
- Security
- Occurrences
- 5
- Severity
- warning
Sample message
Detected usage of a possibly undefined superglobal array index: $_GET['l']. Check that the array index exists before using it.
ERRORMaintainabilitycurl curl setopt5
- Category
- Maintainability
- Occurrences
- 5
- Severity
- error
Sample message
Using cURL functions is highly discouraged. Use wp_remote_get() instead.
ERRORMaintainabilitywp function not compatible with requires wp5
- Category
- Maintainability
- Occurrences
- 5
- Severity
- error
Sample message
Function "wp_add_inline_script()" requires WordPress 4.5.0, but your plugin minimum supported version is WordPress 3.5.0.
ERRORMaintainabilityNon Enqueued Script4
- Category
- Maintainability
- Occurrences
- 4
- Severity
- error
Sample message
Scripts must be registered/enqueued via wp_enqueue_script()
ERRORMaintainabilitystrip tags strip tags3
- Category
- Maintainability
- Occurrences
- 3
- Severity
- error
Sample message
strip_tags() is discouraged. Use the more comprehensive wp_strip_all_tags() instead.
WARNINGMaintainabilityMissing Version3
- Category
- Maintainability
- Occurrences
- 3
- Severity
- warning
Sample message
Resource version not set in call to wp_enqueue_script(). This means new versions of the script may not always be loaded due to browser caching.
WARNINGSecurityUnescaped DBParameter2
- Category
- Security
- Occurrences
- 2
- Severity
- warning
Sample message
Unescaped parameter $table used in $wpdb->get_col()\n$table assigned unsafely at line 130.
WARNINGSecurityInterpolated Not Prepared2
- Category
- Security
- Occurrences
- 2
- Severity
- warning
Sample message
Use placeholders and $wpdb->prepare(); found interpolated variable {$table} at "SHOW COLUMNS FROM `{$table}`"
WARNINGSecuritywp redirect wp redirect2
- Category
- Security
- Occurrences
- 2
- 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 Comment2
- Category
- I18n
- Occurrences
- 2
- 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.
ERRORSecurityregister setting Missing1
- Category
- Security
- Occurrences
- 1
- Severity
- error
Sample message
Sanitization missing for register_setting().
WARNINGMaintainabilityNon Prefixed Class Found1
- Category
- Maintainability
- Occurrences
- 1
- Severity
- warning
Sample message
Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "GSpeeech_Processor".
Score History
First score snapshot
v3.21.2
27
Latest
- Findings
- 1,174
- Errors
- 842
- Warnings
- 332
- Check
- 2.0.0
| Scan | Score | Findings | Errors | Warnings | Plugin | Check |
|---|---|---|---|---|---|---|
| Latest | 27 | 1,174 | 842 | 332 | v3.21.2 | 2.0.0 |