Feature-packed membership plugin for creating subscription plans, adding recurring payments & content restriction on your membership site.
Category Scores
Issues to Review
Prioritized issue groups from the latest Plugin Check scan
Maintainability
3,486
12 issue groups
Security
2,124
10 issue groups
I18n
1,127
2 issue groups
Performance
26
1 issue group
WARNINGMaintainabilityNon Prefixed Hookname FoundHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "'get_custom_bulk_actions_' . $this->post_type".1,004
- Category
- Maintainability
- Occurrences
- 1,004
- Severity
- warning
Sample message
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "'get_custom_bulk_actions_' . $this->post_type".
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.959
- Category
- I18n
- Occurrences
- 959
- 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.
WARNINGSecurityRecommendedProcessing form data without nonce verification.826
- Category
- Security
- Occurrences
- 826
- Severity
- warning
Sample message
Processing form data without nonce verification.
WARNINGMaintainabilityNon Prefixed Function FoundFunctions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "_pms_compare_subscription_plans".720
- Category
- Maintainability
- Occurrences
- 720
- Severity
- warning
Sample message
Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "_pms_compare_subscription_plans".
WARNINGMaintainabilityNon Prefixed Variable FoundGlobal variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$_pms_potx_install".719
- Category
- Maintainability
- Occurrences
- 719
- Severity
- warning
Sample message
Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$_pms_potx_install".
WARNINGSecurityMissing Unslash$_GET['_wpnonce'] not unslashed before sanitization. Use wp_unslash() or similar594
- Category
- Security
- Occurrences
- 594
- Severity
- warning
Sample message
$_GET['_wpnonce'] not unslashed before sanitization. Use wp_unslash() or similar
WARNINGSecurityMissingProcessing form data without nonce verification.441
- Category
- Security
- Occurrences
- 441
- Severity
- warning
Sample message
Processing form data without nonce verification.
ERRORMaintainabilitywp function not compatible with requires wpFunction "add_term_meta()" requires WordPress 4.4.0, but your plugin minimum supported version is WordPress 3.1.0.240
- Category
- Maintainability
- Occurrences
- 240
- Severity
- error
Sample message
Function "add_term_meta()" requires WordPress 4.4.0, but your plugin minimum supported version is WordPress 3.1.0.
ERRORMaintainabilitydate datedate() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.198
- Category
- Maintainability
- Occurrences
- 198
- Severity
- error
Sample message
date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.
ERRORI18nUnordered Placeholders TextMultiple placeholders in translatable strings should be ordered. Expected "%1$1s, %2$2s", but got "%1s, %2s" in 'Follow these steps to start a membership site quickly. %1s out of %2s complete.'.168
- Category
- I18n
- Occurrences
- 168
- Severity
- error
Sample message
Multiple placeholders in translatable strings should be ordered. Expected "%1$1s, %2$2s", but got "%1s, %2s" in 'Follow these steps to start a membership site quickly. %1s out of %2s complete.'.
Show 15 moreShow less
WARNINGMaintainabilityDirect Query128
- Category
- Maintainability
- Occurrences
- 128
- Severity
- warning
Sample message
Use of a direct database call is discouraged.
WARNINGMaintainabilityNon Prefixed Class Found121
- Category
- Maintainability
- Occurrences
- 121
- Severity
- warning
Sample message
Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "Cozmoslabs_Plugin_Optin_Metadata_Builder".
WARNINGMaintainabilityNo Caching119
- Category
- Maintainability
- Occurrences
- 119
- Severity
- warning
Sample message
Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().
ERRORMaintainabilitymissing direct file access protection94
- Category
- Maintainability
- Occurrences
- 94
- Severity
- error
Sample message
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
ERRORSecurityException Not Escaped68
- Category
- Security
- Occurrences
- 68
- Severity
- error
Sample message
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"Cannot save property `{$key}` containing an API resource of type "'.
WARNINGMaintainabilityNot In Footer63
- Category
- Maintainability
- Occurrences
- 63
- 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.
WARNINGSecuritywp redirect wp redirect58
- Category
- Security
- Occurrences
- 58
- 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.
WARNINGMaintainabilityNon Prefixed Constant Found45
- Category
- Maintainability
- Occurrences
- 45
- Severity
- warning
Sample message
Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "PAID_MEMBER_SUBSCRIPTIONS".
WARNINGMaintainabilityDynamic Hookname Found35
- Category
- Maintainability
- Occurrences
- 35
- Severity
- warning
Sample message
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "$hook".
ERRORSecurityOutput Not Escaped35
- Category
- Security
- Occurrences
- 35
- Severity
- error
Sample message
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$context'.
WARNINGSecurityInput Not Sanitized33
- Category
- Security
- Occurrences
- 33
- Severity
- warning
Sample message
Detected usage of a non-sanitized input variable: $_GET['post']
WARNINGPerformancePost Not In exclude26
- Category
- Performance
- Occurrences
- 26
- 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.
ERRORSecurityNot Prepared25
- Category
- Security
- Occurrences
- 25
- Severity
- error
Sample message
Use placeholders and $wpdb->prepare(); found $gateways
ERRORSecurityUnescaped DBParameter22
- Category
- Security
- Occurrences
- 22
- Severity
- error
Sample message
Unescaped parameter $delay used in $wpdb->get_results()\n$delay assigned unsafely at line 507.
WARNINGSecurityUnescaped DBParameter22
- Category
- Security
- Occurrences
- 22
- Severity
- warning
Sample message
Unescaped parameter $column_name used in $wpdb->get_var()
Score History
First score snapshot
v3.0.5
21
Latest
- Findings
- 6,983
- Errors
- 1,918
- Warnings
- 5,065
- Check
- 2.0.0
| Scan | Score | Findings | Errors | Warnings | Plugin | Check |
|---|---|---|---|---|---|---|
| Latest | 21 | 6,983 | 1,918 | 5,065 | v3.0.5 | 2.0.0 |