Members – Membership & User Role Editor Plugin

The best WordPress membership and user role editor plugin. User Roles & Capabilities editor helps you restrict content in just a few clicks.

v3.2.22Blair WilliamsUpdated Added 300k+ installs98% rating91% support resolved
33
Score
234
Errors
244
Warnings
+0
Change

Category Scores

Security0
Repo94
Performance96
Maintainability46

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

478 findings

Security

301

8 issue groups

Maintainability

86

14 issue groups

I18n

81

2 issue groups

Performance

3

1 issue group

ERRORSecurityOutput is not escapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"Members_Plugin::{$method}"'.116
Category
Security
Occurrences
116
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"Members_Plugin::{$method}"'.

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.79
Category
I18n
Occurrences
79
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.

WARNINGSecurityInput is not sanitizedDetected usage of a non-sanitized input variable: $_FILES['members_import_file']['name']50
Category
Security
Occurrences
50
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_FILES['members_import_file']['name']

WARNINGSecurityNonce verification recommendedProcessing form data without nonce verification.48
Category
Security
Occurrences
48
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGSecurityRequest data is not unslashed$_GET['clone'] not unslashed before sanitization. Use wp_unslash() or similar48
Category
Security
Occurrences
48
Severity
warning

Sample message

$_GET['clone'] not unslashed before sanitization. Use wp_unslash() or similar

WARNINGMaintainabilityNon-prefixed functionFunctions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "current_user_has_role".26
Category
Maintainability
Occurrences
26
Severity
warning

Sample message

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

ERRORSecurityUnsafe printing functionAll output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.20
Category
Security
Occurrences
20
Severity
error

Sample message

All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.

WARNINGMaintainabilityNon-prefixed hook nameHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "editable_roles".10
Category
Maintainability
Occurrences
10
Severity
warning

Sample message

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

ERRORMaintainabilitystrip tags strip tagsstrip_tags() is discouraged. Use the more comprehensive wp_strip_all_tags() instead.10
Category
Maintainability
Occurrences
10
Severity
error

Sample message

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

WARNINGMaintainabilityNon-prefixed hook nameHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "app()->namespace . '/disable_toolbar'".9
Category
Maintainability
Occurrences
9
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "app()->namespace . '/disable_toolbar'".

Show 15 more
WARNINGMaintainabilityNon-prefixed global variable8
Category
Maintainability
Occurrences
8
Severity
warning

Sample message

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

WARNINGSecurityInput is not validated8
Category
Security
Occurrences
8
Severity
warning

Sample message

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

WARNINGSecurityMissing nonce verification6
Category
Security
Occurrences
6
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGSecuritywp redirect wp redirect5
Category
Security
Occurrences
5
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.

WARNINGMaintainabilityMissing Version5
Category
Maintainability
Occurrences
5
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.

WARNINGMaintainabilityslow db query meta key3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

Detected usage of meta_key, possible slow query.

WARNINGMaintainabilityslow db query meta value3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

Detected usage of meta_value, possible slow query.

ERRORMaintainabilitydate date3
Category
Maintainability
Occurrences
3
Severity
error

Sample message

date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.

WARNINGPerformancePost Not In exclude3
Category
Performance
Occurrences
3
Severity
warning

Sample message

Using exclusionary parameters, like exclude, in calls to get_posts() should be done with caution, see https://wpvip.com/documentation/performance-improvements-by-removing-usage-of-post__not_in/ for more information.

WARNINGMaintainabilityMixed line endings2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

File has mixed line endings; this may cause incorrect results

WARNINGMaintainabilityDirect Query2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

Use of a direct database call is discouraged.

WARNINGMaintainabilityNo Caching2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

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

WARNINGMaintainabilityNon-prefixed class2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "MRH_Edit_Role".

ERRORI18nMissing Arg Domain2
Category
I18n
Occurrences
2
Severity
error

Sample message

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

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.

Score History

First score snapshot

v3.2.22

33

Latest

Findings
478
Errors
234
Warnings
244
Check
2.0.0

Related Plugins

Restricted Site Access

10k+ active installs

91
Roles & Capabilities

1k+ active installs

44
User Role Editor

700k+ active installs

43
Authenticator

1k+ active installs

41
Controlled Admin Access

10k+ active installs

41