Fast, lightweight post views counter. Display views in admin, blocks or shortcodes — no tracking scripts required.
Prioritized issue groups from the latest Plugin Check scan
Security
74
9 issue groups
Maintainability
35
12 issue groups
I18n
10
4 issue groups
Sample message
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$WidgetTemplate'.
Sample message
All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.
Sample message
Use of a direct database call is discouraged.
Sample message
Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().
Sample message
Function "get_block_wrapper_attributes()" requires WordPress 5.6.0, but your plugin minimum supported version is WordPress 3.1.0.
Sample message
Simple placeholders should not be quoted in the query string in $wpdb->prepare(). Found: '%s'.
Sample message
Processing form data without nonce verification.
Sample message
Detected usage of a possibly undefined superglobal array index: $_POST['impofield']. Check that the array index exists before using it.
Sample message
$_POST['WPeCounter_Options']['reset_post_type'] not unslashed before sanitization. Use wp_unslash() or similar
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.
Sample message
Missing $domain parameter in function call to __().
Sample message
The $text parameter must be a single text string literal. Found: $post_type
Sample message
The plugin name includes a restricted term. Your chosen plugin name - "WP Views Counter" - contains the restricted term "wp" which cannot be used at all in your plugin name.
Sample message
Use placeholders and $wpdb->prepare(); found $insertQuery
Sample message
Detected usage of meta_key, possible slow query.
Sample message
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "'sanitize_options_' . WPECOUNTER_PLUGIN_FILE".
Sample message
Detected usage of a non-sanitized input variable: $_POST['WPeCounter_Options']['reset_scope']
Sample message
Mismatched text domain. Expected 'wpecounter' but got 'text-domain'.
Sample message
Unescaped parameter $query used in $wpdb->get_results()\n$query assigned unsafely at line 604.
Sample message
Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "getClassWPeCounter".
Sample message
Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$options".
Sample message
strip_tags() is discouraged. Use the more comprehensive wp_strip_all_tags() instead.
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.
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.
Sample message
Editor blocks must define "apiVersion" 3 or higher in block.json for WordPress 7.0+ iframe editor compatibility.
Not analyzed yet.
First score snapshot
v2.1.3
35
Latest
| Scan | Score | Findings | Errors | Warnings | Plugin | Check |
|---|---|---|---|---|---|---|
| Latest | 35 | 123 | 81 | 42 | v2.1.3 | 2.0.0 |
Author, categories, issues, domains, and nearby plugins.