YITH WooCommerce Waitlist

This plugin enables registered users to request an email notification when an out-of-stock product comes back into stock.

v2.36.0YITHEMESUpdated Added 3k+ installs64% rating
24
Score
420
Errors
1,500
Warnings
+0
Change

Category Scores

Security0
Repo94
Performance97
Maintainability0

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

1,920 findings

Maintainability

1,537

13 issue groups

I18n

329

4 issue groups

Security

48

7 issue groups

Performance

2

1 issue group

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

Sample message

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

ERRORI18nText Domain MismatchMismatched text domain. Expected 'yith-woocommerce-waiting-list' but got 'woocommerce'.319
Category
I18n
Occurrences
319
Severity
error

Sample message

Mismatched text domain. Expected 'yith-woocommerce-waiting-list' but got 'woocommerce'.

WARNINGMaintainabilityNon-prefixed hook nameHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "'woocommerce_email_recipient_' . $this->id".83
Category
Maintainability
Occurrences
83
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "'woocommerce_email_recipient_' . $this->id".

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

Sample message

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

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

Sample message

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

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

Sample message

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

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

Sample message

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

WARNINGMaintainabilityDynamic hook nameHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "$deprecated_filters[ $filter ]".10
Category
Maintainability
Occurrences
10
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "$deprecated_filters[ $filter ]".

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

Sample message

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

WARNINGMaintainabilityNon-prefixed constantGlobal constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "DOING_YITH_BH_ONBOARDING".6
Category
Maintainability
Occurrences
6
Severity
warning

Sample message

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

Show 15 more
WARNINGSecurityInput is not sanitized6
Category
Security
Occurrences
6
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_GET['term']

WARNINGSecurityMissing nonce verification4
Category
Security
Occurrences
4
Severity
warning

Sample message

Processing form data without nonce verification.

ERRORSecurityException output is not escaped3
Category
Security
Occurrences
3
Severity
error

Sample message

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

WARNINGSecurityRequest data is not unslashed3
Category
Security
Occurrences
3
Severity
warning

Sample message

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

WARNINGMaintainabilitytrademarked term3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

The plugin name includes a restricted term. Your chosen plugin name - "YITH WooCommerce Waitlist" - contains the restricted term "woocommerce" which cannot be used within in your plugin name, unless your plugin name contains one of the allowed patterns: "for woocommerce", "with woocommerce", "using woocommerce", or "and woocommerce". The term must still not appear anywhere else in your name.

WARNINGSecurityInput is not validated2
Category
Security
Occurrences
2
Severity
warning

Sample message

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

ERRORI18nNon Singular String Literal Text2
Category
I18n
Occurrences
2
Severity
error

Sample message

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

WARNINGPerformancePost Not In exclude2
Category
Performance
Occurrences
2
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.

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

ERRORMaintainabilityForbidden PHP function found1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

The use of function get_post_type_labels() is forbidden

WARNINGMaintainabilityDirect Query1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

Use of a direct database call is discouraged.

WARNINGMaintainabilityNo Caching1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

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

ERRORSecurityUnsafe printing function1
Category
Security
Occurrences
1
Severity
error

Sample message

All output should be run through an escaping function (like echo esc_html_x() or echo esc_attr_x()), found '_ex'.

ERRORMaintainabilityDeprecated parameter: get_terms parameter 21
Category
Maintainability
Occurrences
1
Severity
error

Sample message

The parameter "$args" at position #2 of get_terms() has been deprecated since WordPress version 4.5.0. Instead do not pass the parameter.

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.

External Connections

Not analyzed yet.

Score History

First score snapshot

v2.36.0

24

Latest

Findings
1,920
Errors
420
Warnings
1,500
Check
2.0.0

Relationship Map

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

29 nodes

Related Plugins