Page Restrict for WooCommerce

Restrict access to your WordPress pages using WooCommerce products.

v1.7.4Vlado GrcicUpdated Added 700 installs94% rating
29
Score
579
Errors
374
Warnings
+0
Change

Category Scores

Security0
Repo94
Performance100
Maintainability22

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

953 findings

Maintainability

366

11 issue groups

I18n

350

4 issue groups

Security

228

10 issue groups

ERRORI18nText Domain MismatchMismatched text domain. Expected 'page-restrict-for-woocommerce' but got "page_restrict_domain".341
Category
I18n
Occurrences
341
Severity
error

Sample message

Mismatched text domain. Expected 'page-restrict-for-woocommerce' but got "page_restrict_domain".

WARNINGMaintainabilityNon-prefixed global variableGlobal variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$all_pages".291
Category
Maintainability
Occurrences
291
Severity
warning

Sample message

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

ERRORSecurityOutput is not escapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$Restricted_Pages_List'.181
Category
Security
Occurrences
181
Severity
error

Sample message

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

ERRORMaintainabilityMissing direct file access protectionPHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;23
Category
Maintainability
Occurrences
23
Severity
error

Sample message

PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;

WARNINGMaintainabilityDirect QueryUse of a direct database call is discouraged.12
Category
Maintainability
Occurrences
12
Severity
warning

Sample message

Use of a direct database call is discouraged.

WARNINGSecurityMissing nonce verificationProcessing form data without nonce verification.11
Category
Security
Occurrences
11
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGMaintainabilityNo CachingDirect database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().10
Category
Maintainability
Occurrences
10
Severity
warning

Sample message

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

WARNINGSecurityInterpolated SQL is not preparedUse placeholders and $wpdb->prepare(); found interpolated variable $key at "SELECT meta_value FROM $table WHERE `post_id`='$post_id' AND `meta_key`='$key'"10
Category
Security
Occurrences
10
Severity
warning

Sample message

Use placeholders and $wpdb->prepare(); found interpolated variable $key at "SELECT meta_value FROM $table WHERE `post_id`='$post_id' AND `meta_key`='$key'"

WARNINGMaintainabilityerror log trigger errortrigger_error() found. Debug code should not normally be used in production.9
Category
Maintainability
Occurrences
9
Severity
warning

Sample message

trigger_error() found. Debug code should not normally be used in production.

ERRORMaintainabilitywp function not compatible with requires wpFunction "register_block_type()" requires WordPress 5.0.0, but your plugin minimum supported version is WordPress 4.8.12.7
Category
Maintainability
Occurrences
7
Severity
error

Sample message

Function "register_block_type()" requires WordPress 5.0.0, but your plugin minimum supported version is WordPress 4.8.12.

Show 15 more
WARNINGSecurityInput is not validated5
Category
Security
Occurrences
5
Severity
warning

Sample message

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

ERRORSecurityDatabase parameter is not escaped4
Category
Security
Occurrences
4
Severity
error

Sample message

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

WARNINGSecuritywp redirect wp redirect4
Category
Security
Occurrences
4
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.

WARNINGSecurityRequest data is not unslashed4
Category
Security
Occurrences
4
Severity
warning

Sample message

$_POST[$key] not unslashed before sanitization. Use wp_unslash() or similar

ERRORI18nNo Empty Strings4
Category
I18n
Occurrences
4
Severity
error

Sample message

The $text text string should have translatable content. Found: ''

WARNINGSecurityDatabase parameter is not escaped3
Category
Security
Occurrences
3
Severity
warning

Sample message

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

ERRORSecuritySQL query is not prepared3
Category
Security
Occurrences
3
Severity
error

Sample message

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

WARNINGMaintainabilityslow db query meta key3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

Detected usage of meta_key, 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.

WARNINGSecurityNonce verification recommended3
Category
Security
Occurrences
3
Severity
warning

Sample message

Processing form data without nonce verification.

ERRORMaintainabilityrand rand3
Category
Maintainability
Occurrences
3
Severity
error

Sample message

rand() is discouraged. Use the far less predictable wp_rand() instead.

WARNINGMaintainabilityNot In Footer3
Category
Maintainability
Occurrences
3
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.

ERRORI18nNon Singular String Literal Text3
Category
I18n
Occurrences
3
Severity
error

Sample message

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

WARNINGMaintainabilityslow db query meta value2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

Detected usage of meta_value, possible slow query.

ERRORI18nMissing Translators Comment2
Category
I18n
Occurrences
2
Severity
error

Sample message

A function call to esc_html__() 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.

External Connections

Potential connections found in static code analysis.

6 domains

Outbound calls

12

External assets

0

Incoming endpoints

4

Notable Domains

jqueryui.com4 · outbound
fb.me2 · outbound
api.jqueryui.com1 · outbound
jquery.org1 · outbound

Platform / Reference Domains

w3.org3 · platform/reference
gnu.org1 · platform/reference

External Asset Domains

No external asset domains detected.

Incoming Endpoints

wp_ajax_nopriv_prwc_pages_optionspublic

wp_ajax

wp_ajax_nopriv_prwc_plugin_optionspublic

wp_ajax

Admin AJAX endpoints2
wp_ajax_prwc_pages_optionsauthenticated

wp_ajax

wp_ajax_prwc_plugin_optionsauthenticated

wp_ajax

Score History

First score snapshot

v1.7.4

29

Latest

Findings
953
Errors
579
Warnings
374
Check
2.0.0

Relationship Map

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

33 nodes

Related Plugins

Hide Drafts in Menus

1k+ active installs

100
Allow Only 1 Product in Cart

500 active installs

99
Essential Widgets

10k+ active installs

99