WP Views Counter

Fast, lightweight post views counter. Display views in admin, blocks or shortcodes — no tracking scripts required.

v2.1.3etruelUpdated Added 2k+ installs100% rating
35
Score
81
Errors
42
Warnings
+0
Change

Category Scores

Security0
Repo79
Performance100
Maintainability69

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

123 findings

Security

74

9 issue groups

Maintainability

35

12 issue groups

I18n

10

4 issue groups

ERRORSecurityOutput Not EscapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$WidgetTemplate'.32
Category
Security
Occurrences
32
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$WidgetTemplate'.

ERRORSecurityUnsafe Printing FunctionAll output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.21
Category
Security
Occurrences
21
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.7
Category
Maintainability
Occurrences
7
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().7
Category
Maintainability
Occurrences
7
Severity
warning

Sample message

Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().

ERRORMaintainabilitywp function not compatible with requires wpFunction "get_block_wrapper_attributes()" requires WordPress 5.6.0, but your plugin minimum supported version is WordPress 3.1.0.5
Category
Maintainability
Occurrences
5
Severity
error

Sample message

Function "get_block_wrapper_attributes()" requires WordPress 5.6.0, but your plugin minimum supported version is WordPress 3.1.0.

ERRORSecurityQuoted Simple PlaceholderSimple placeholders should not be quoted in the query string in $wpdb->prepare(). Found: '%s'.4
Category
Security
Occurrences
4
Severity
error

Sample message

Simple placeholders should not be quoted in the query string in $wpdb->prepare(). Found: '%s'.

WARNINGSecurityMissingProcessing form data without nonce verification.4
Category
Security
Occurrences
4
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGSecurityInput Not ValidatedDetected usage of a possibly undefined superglobal array index: $_POST['impofield']. Check that the array index exists before using it.4
Category
Security
Occurrences
4
Severity
warning

Sample message

Detected usage of a possibly undefined superglobal array index: $_POST['impofield']. Check that the array index exists before using it.

WARNINGSecurityMissing Unslash$_POST['WPeCounter_Options']['reset_post_type'] not unslashed before sanitization. Use wp_unslash() or similar4
Category
Security
Occurrences
4
Severity
warning

Sample message

$_POST['WPeCounter_Options']['reset_post_type'] not unslashed before sanitization. Use wp_unslash() or similar

WARNINGMaintainabilityMissing VersionResource 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.4
Category
Maintainability
Occurrences
4
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.

Show 15 more
ERRORI18nMissing Arg Domain4
Category
I18n
Occurrences
4
Severity
error

Sample message

Missing $domain parameter in function call to __().

ERRORI18nNon Singular String Literal Text3
Category
I18n
Occurrences
3
Severity
error

Sample message

The $text parameter must be a single text string literal. Found: $post_type

WARNINGMaintainabilitytrademarked term3
Category
Maintainability
Occurrences
3
Severity
warning

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.

ERRORSecurityNot Prepared2
Category
Security
Occurrences
2
Severity
error

Sample message

Use placeholders and $wpdb->prepare(); found $insertQuery

WARNINGMaintainabilityslow db query meta key2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

Detected usage of meta_key, possible slow query.

WARNINGMaintainabilityNon Prefixed Hookname Found2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "'sanitize_options_' . WPECOUNTER_PLUGIN_FILE".

WARNINGSecurityInput Not Sanitized2
Category
Security
Occurrences
2
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_POST['WPeCounter_Options']['reset_scope']

ERRORI18nText Domain Mismatch2
Category
I18n
Occurrences
2
Severity
error

Sample message

Mismatched text domain. Expected 'wpecounter' but got 'text-domain'.

ERRORSecurityUnescaped DBParameter1
Category
Security
Occurrences
1
Severity
error

Sample message

Unescaped parameter $query used in $wpdb->get_results()\n$query assigned unsafely at line 604.

WARNINGMaintainabilityNon Prefixed Function Found1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "getClassWPeCounter".

WARNINGMaintainabilityNon Prefixed Variable Found1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$options".

ERRORMaintainabilitystrip tags strip tags1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

strip_tags() is discouraged. Use the more comprehensive wp_strip_all_tags() instead.

WARNINGMaintainabilityNot In Footer1
Category
Maintainability
Occurrences
1
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.

ERRORI18nMissing Translators Comment1
Category
I18n
Occurrences
1
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.

ERRORMaintainabilityblock api version too low1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

Editor blocks must define "apiVersion" 3 or higher in block.json for WordPress 7.0+ iframe editor compatibility.

Score History

First score snapshot

v2.1.3

35

Latest

Findings
123
Errors
81
Warnings
42
Check
2.0.0

Related Plugins

Machete

7k+ active installs

99
Search Analytics for WP

3k+ active installs

99
Web Worker Offloading

10k+ active installs

99
Google Tag Manager

10k+ active installs

98