SureMembers – Membership & Content Restriction Plugin

Protect your content, build memberships, and control who sees what on your WordPress site, without writing a single line of code.

v1.2.1Brainstorm ForceUpdated Added 900 installs100% rating0% support resolved
28
Score
364
Errors
248
Warnings
-28
Change

Category Scores

Security0
Repo94
Performance100
Maintainability17

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

612 findings

I18n

255

3 issue groups

Maintainability

181

16 issue groups

Security

165

6 issue groups

ERRORI18nText Domain MismatchMismatched text domain. Expected 'suremembers-core' but got 'action-scheduler'.225
Category
I18n
Occurrences
225
Severity
error

Sample message

Mismatched text domain. Expected 'suremembers-core' but got 'action-scheduler'.

ERRORSecurityException output is not escapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"HTTP method {$name} is not supported."'.84
Category
Security
Occurrences
84
Severity
error

Sample message

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

WARNINGSecurityRequest data is not unslashed$_COOKIE['suremembers_timestamp'] not unslashed before sanitization. Use wp_unslash() or similar53
Category
Security
Occurrences
53
Severity
warning

Sample message

$_COOKIE['suremembers_timestamp'] not unslashed before sanitization. Use wp_unslash() or similar

WARNINGMaintainabilityDirect QueryUse of a direct database call is discouraged.46
Category
Maintainability
Occurrences
46
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().40
Category
Maintainability
Occurrences
40
Severity
warning

Sample message

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

ERRORI18nMissing Arg DomainMissing $domain parameter in function call to __().29
Category
I18n
Occurrences
29
Severity
error

Sample message

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

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

Sample message

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

WARNINGSecurityDatabase parameter is not escapedUnescaped parameter $column_name used in $wpdb->get_var()23
Category
Security
Occurrences
23
Severity
warning

Sample message

Unescaped parameter $column_name used in $wpdb->get_var()

WARNINGMaintainabilityNon-prefixed classClasses declared by a theme/plugin should start with the theme/plugin prefix. Found: "BSF_Admin_Notices".18
Category
Maintainability
Occurrences
18
Severity
warning

Sample message

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

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

Sample message

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

Show 15 more
WARNINGMaintainabilityDynamic hook name7
Category
Maintainability
Occurrences
7
Severity
warning

Sample message

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

ERRORMaintainabilitywp function not compatible with requires wp7
Category
Maintainability
Occurrences
7
Severity
error

Sample message

Function "str_starts_with()" requires WordPress 5.9.0, but your plugin minimum supported version is WordPress 5.8.0.

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;

WARNINGMaintainabilityDiscouraged PHP function4
Category
Maintainability
Occurrences
4
Severity
warning

Sample message

The use of function ini_set() is discouraged

WARNINGMaintainabilityNon-prefixed constant4
Category
Maintainability
Occurrences
4
Severity
warning

Sample message

Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "BSF_ANALYTICS_URI".

WARNINGSecurityInterpolated SQL is not prepared3
Category
Security
Occurrences
3
Severity
warning

Sample message

Use placeholders and $wpdb->prepare(); found interpolated variable {$order} at "SELECT action_id from {$wpdb->actionscheduler_actions} {$where} {$order} LIMIT %d FOR UPDATE{$skip_locked}"

ERRORMaintainabilityOffloaded Content2
Category
Maintainability
Occurrences
2
Severity
error

Sample message

Found call to wp_enqueue_script() with external resource. Offloading scripts to your servers or any remote service is disallowed.

WARNINGMaintainabilityNon-prefixed global variable2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

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

WARNINGMaintainabilityupdate modification detected2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

Plugin Updater detected. Detected code which may be altering WordPress update routines. Detected: _site_transient_update_plugins

WARNINGI18nDiscouraged text-domain loading1
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.

ERRORMaintainabilityNot Allowed1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

Use of heredoc syntax (<<<) is not allowed; use standard strings or inline HTML instead

ERRORSecurityDatabase parameter is not escaped1
Category
Security
Occurrences
1
Severity
error

Sample message

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

ERRORSecuritySQL query is not prepared1
Category
Security
Occurrences
1
Severity
error

Sample message

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

WARNINGMaintainabilityslow db query meta key1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

Detected usage of meta_key, possible slow query.

ERRORMaintainabilitydate date1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

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

External Connections

Potential connections found in static code analysis.

21 domains

Outbound calls

70

External assets

2

Incoming endpoints

25

Notable Domains

suremembers.com16 · outbound
php.net5 · outbound
actionscheduler.org4 · outbound
en.wikipedia.org4 · outbound
secure.php.net3 · outbound
automattic.com2 · outbound

Platform / Reference Domains

github.com9 · platform/reference
w3.org5 · platform/reference
gnu.org3 · platform/reference
core.trac.wordpress.org2 · platform/reference
wordpress.org2 · platform/reference
codex.wordpress.org1 · platform/reference

External Asset Domains

challenges.cloudflare.com6 · asset + outbound

Incoming Endpoints

/wp-json/suremembers/v1/activate-pluginREST

register_rest_route

/wp-json/suremembers/v1/complete-onboardingREST

register_rest_route

/wp-json/suremembers/v1/learn-chaptersREST

register_rest_route

/wp-json/suremembers/v1/learn-dismissREST

register_rest_route

/wp-json/suremembers/v1/learn-progressREST

register_rest_route

/wp-json/suremembers/v1/mcp-settingsREST

register_rest_route

Admin AJAX endpoints14
wp_ajax_astra-notice-dismissauthenticated

wp_ajax

wp_ajax_get_access_groups_by_idauthenticated

wp_ajax

wp_ajax_queried_access_groupsauthenticated

wp_ajax

wp_ajax_suremembers_access_groups_file_uploadsauthenticated

wp_ajax

wp_ajax_suremembers_add_expire_date_to_userauthenticated

wp_ajax

wp_ajax_suremembers_edit_get_active_access_groupsauthenticated

wp_ajax

wp_ajax_suremembers_fetch_adminbar_groupsauthenticated

wp_ajax

wp_ajax_suremembers_get_posts_by_queryauthenticated

wp_ajax

wp_ajax_suremembers_handle_bulk_access_editauthenticated

wp_ajax

wp_ajax_suremembers_postmeta_searchauthenticated

wp_ajax

wp_ajax_suremembers_user_logoutauthenticated

wp_ajax

wp_ajax_suremembers_users_edit_actionsauthenticated

wp_ajax

2 more hidden

Score History

2 score snapshots

-28
1007550250Jun 25, 2026, 08:59 AM UTC Score 56/100 Plugin v1.2.0 Plugin Check 2.0.0 52 errors, 102 warningsJun 29, 2026, 07:03 AM UTC Score 28/100 Plugin v1.2.1 Plugin Check 2.0.0 364 errors, 248 warningsJun 25, 2026Jun 29, 2026

v1.2.1

28

Latest

Findings
612
Errors
364
Warnings
248
Check
2.0.0

v1.2.0

56

Score

Findings
154
Errors
52
Warnings
102
Check
2.0.0

Relationship Map

Author, categories, issues, domains, and nearby plugins.

37 nodes

Related

Related Plugins