Adds an AJAX poll system to your WordPress blog. You can also easily add a poll into your WordPress's blog post/page.
Category Scores
Issues to Review
Prioritized issue groups from the latest Plugin Check scan
Security
719
12 issue groups
Maintainability
451
10 issue groups
I18n
76
3 issue groups
ERRORSecurityUnsafe Printing FunctionAll output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.285
- Category
- Security
- Occurrences
- 285
- Severity
- error
Sample message
All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.
ERRORSecurityOutput Not EscapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '" <input type=\"text\" size=\"4\" id=\"polla_votes-$polla_aid\" name=\"polla_votes-$polla_aid\" value=\"$polla_votes\" onblur=\"check_totalvotes();\" /></td>\n</tr>\n"'.208
- Category
- Security
- Occurrences
- 208
- Severity
- error
Sample message
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '" <input type=\"text\" size=\"4\" id=\"polla_votes-$polla_aid\" name=\"polla_votes-$polla_aid\" value=\"$polla_votes\" onblur=\"check_totalvotes();\" /></td>\n</tr>\n"'.
WARNINGMaintainabilityNon Prefixed Variable FoundGlobal variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$add_poll_answers".200
- Category
- Maintainability
- Occurrences
- 200
- Severity
- warning
Sample message
Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$add_poll_answers".
WARNINGMaintainabilityDirect QueryUse of a direct database call is discouraged.88
- Category
- Maintainability
- Occurrences
- 88
- 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().78
- Category
- Maintainability
- Occurrences
- 78
- Severity
- warning
Sample message
Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().
WARNINGSecurityInput Not ValidatedDetected usage of a possibly undefined superglobal array index: $_POST['delete_logs_yes']. Check that the array index exists before using it.60
- Category
- Security
- Occurrences
- 60
- Severity
- warning
Sample message
Detected usage of a possibly undefined superglobal array index: $_POST['delete_logs_yes']. Check that the array index exists before using it.
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.60
- Category
- I18n
- Occurrences
- 60
- 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.
WARNINGSecurityMissing Unslash$_COOKIE['comment_author_' . COOKIEHASH] not unslashed before sanitization. Use wp_unslash() or similar46
- Category
- Security
- Occurrences
- 46
- Severity
- warning
Sample message
$_COOKIE['comment_author_' . COOKIEHASH] not unslashed before sanitization. Use wp_unslash() or similar
WARNINGSecurityInput Not SanitizedDetected usage of a non-sanitized input variable: $_COOKIE['comment_author_' . COOKIEHASH]40
- Category
- Security
- Occurrences
- 40
- Severity
- warning
Sample message
Detected usage of a non-sanitized input variable: $_COOKIE['comment_author_' . COOKIEHASH]
WARNINGMaintainabilityNon Prefixed Hookname FoundHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "wp_polls_add_poll".32
- Category
- Maintainability
- Occurrences
- 32
- Severity
- warning
Sample message
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "wp_polls_add_poll".
Show 15 moreShow less
WARNINGSecurityInterpolated Not Prepared31
- Category
- Security
- Occurrences
- 31
- Severity
- warning
Sample message
Use placeholders and $wpdb->prepare(); found interpolated variable $comment_sql at "SELECT $wpdb->pollsip.* FROM $wpdb->pollsip WHERE pollip_qid = $poll_id $users_voted_for_sql $registered_sql $comment_sql $guest_sql $what_user_voted_sql $num_choices_sql ORDER BY $order_by"
WARNINGMaintainabilityNon Prefixed Function Found28
- Category
- Maintainability
- Occurrences
- 28
- Severity
- warning
Sample message
Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "_polls_get_ans_result_sort".
ERRORSecurityException Not Escaped16
- Category
- Security
- Occurrences
- 16
- Severity
- error
Sample message
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$poll_id'.
ERRORI18nUnordered Placeholders Text15
- Category
- I18n
- Occurrences
- 15
- Severity
- error
Sample message
Multiple placeholders in translatable strings should be ordered. Expected "%1$s, %2$s", but got "%s, %s" in '%s @ %s'.
WARNINGSecurityRecommended12
- Category
- Security
- Occurrences
- 12
- Severity
- warning
Sample message
Processing form data without nonce verification.
ERRORSecurityUnescaped DBParameter10
- Category
- Security
- Occurrences
- 10
- Severity
- error
Sample message
Unescaped parameter $log_expiry_sql used in $wpdb->get_col()\n$log_expiry_sql assigned unsafely at line 373.
WARNINGMaintainabilitySchema Change9
- Category
- Maintainability
- Occurrences
- 9
- Severity
- warning
Sample message
Attempting a database schema change is discouraged.
ERRORMaintainabilitymissing direct file access protection6
- Category
- Maintainability
- Occurrences
- 6
- Severity
- error
Sample message
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
WARNINGSecurityMissing5
- Category
- Security
- Occurrences
- 5
- Severity
- warning
Sample message
Processing form data without nonce verification.
ERRORMaintainabilitystrip tags strip tags5
- Category
- Maintainability
- Occurrences
- 5
- Severity
- error
Sample message
strip_tags() is discouraged. Use the more comprehensive wp_strip_all_tags() instead.
WARNINGSecurityUnescaped DBParameter3
- Category
- Security
- Occurrences
- 3
- Severity
- warning
Sample message
Unescaped parameter $order_by used in $wpdb->get_results()\n$sort_order used without escaping.
ERRORSecurityNot Prepared3
- Category
- Security
- Occurrences
- 3
- Severity
- error
Sample message
Use placeholders and $wpdb->prepare(); found current_time
WARNINGMaintainabilitytrademarked term3
- Category
- Maintainability
- Occurrences
- 3
- Severity
- warning
Sample message
The plugin name includes a restricted term. Your chosen plugin name - "WP-Polls" - contains the restricted term "wp" which cannot be used at all in your plugin name.
ERRORMaintainabilitywp get sites Found2
- Category
- Maintainability
- Occurrences
- 2
- Severity
- error
Sample message
wp_get_sites() has been deprecated since WordPress version 4.6.0. Use get_sites() instead.
WARNINGI18nload plugin textdomain Found1
- Category
- I18n
- Occurrences
- 1
- Severity
- warning
Sample message
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.
Score History
First score snapshot
v2.77.3
25
Latest
- Findings
- 1,257
- Errors
- 618
- Warnings
- 639
- Check
- 2.0.0
| Scan | Score | Findings | Errors | Warnings | Plugin | Check |
|---|---|---|---|---|---|---|
| Latest | 25 | 1,257 | 618 | 639 | v2.77.3 | 2.0.0 |