Best WooCommerce wholesale plugin with features like b2b wholesale prices, wholesale order form, tiered pricing, catalog mode, dynamic pricing, etc!
Category Scores
Issues to Review
Prioritized issue groups from the latest Plugin Check scan
Security
106
10 issue groups
Maintainability
84
10 issue groups
I18n
28
4 issue groups
Performance
1
1 issue group
WARNINGMaintainabilityNon-prefixed global variableGlobal variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$admin_users".38
- Category
- Maintainability
- Occurrences
- 38
- Severity
- warning
Sample message
Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$admin_users".
WARNINGSecurityMissing nonce verificationProcessing form data without nonce verification.30
- Category
- Security
- Occurrences
- 30
- Severity
- warning
Sample message
Processing form data without nonce verification.
WARNINGSecurityInput is not sanitizedDetected usage of a non-sanitized input variable: $_FILES[$field['name']]25
- Category
- Security
- Occurrences
- 25
- Severity
- warning
Sample message
Detected usage of a non-sanitized input variable: $_FILES[$field['name']]
WARNINGSecurityRequest data is not unslashed$_GET['exported_ids'] not unslashed before sanitization. Use wp_unslash() or similar23
- Category
- Security
- Occurrences
- 23
- Severity
- warning
Sample message
$_GET['exported_ids'] not unslashed before sanitization. Use wp_unslash() or similar
WARNINGMaintainabilityNon-prefixed hook nameHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "active_plugins".17
- Category
- Maintainability
- Occurrences
- 17
- Severity
- warning
Sample message
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "active_plugins".
ERRORI18nText Domain MismatchMismatched text domain. Expected 'wholesalex' but got 'woocommerce'.16
- Category
- I18n
- Occurrences
- 16
- Severity
- error
Sample message
Mismatched text domain. Expected 'wholesalex' but got 'woocommerce'.
WARNINGSecurityInput is not validatedDetected usage of a possibly undefined superglobal array index: $_FILES[$field['name']]['name']. Check that the array index exists before using it.9
- Category
- Security
- Occurrences
- 9
- Severity
- warning
Sample message
Detected usage of a possibly undefined superglobal array index: $_FILES[$field['name']]['name']. Check that the array index exists before using it.
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.9
- Category
- I18n
- Occurrences
- 9
- 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.
WARNINGMaintainabilityslow db query meta keyDetected usage of meta_key, possible slow query.7
- Category
- Maintainability
- Occurrences
- 7
- Severity
- warning
Sample message
Detected usage of meta_key, possible slow query.
WARNINGMaintainabilityslow db query meta queryDetected usage of meta_query, possible slow query.7
- Category
- Maintainability
- Occurrences
- 7
- Severity
- warning
Sample message
Detected usage of meta_query, possible slow query.
Show 15 moreShow less
WARNINGSecurityNonce verification recommended7
- Category
- Security
- Occurrences
- 7
- Severity
- warning
Sample message
Processing form data without nonce verification.
ERRORSecurityOutput is not escaped6
- Category
- Security
- Occurrences
- 6
- Severity
- error
Sample message
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$free_item_quantity'.
WARNINGMaintainabilityslow db query meta value5
- Category
- Maintainability
- Occurrences
- 5
- Severity
- warning
Sample message
Detected usage of meta_value, possible slow query.
WARNINGMaintainabilityMissing Version4
- Category
- Maintainability
- Occurrences
- 4
- 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.
ERRORMaintainabilityNot Allowed3
- Category
- Maintainability
- Occurrences
- 3
- Severity
- error
Sample message
Use of heredoc syntax (<<<) is not allowed; use standard strings or inline HTML instead
ERRORSecuritySQL query is not prepared3
- Category
- Security
- Occurrences
- 3
- Severity
- error
Sample message
Use placeholders and $wpdb->prepare(); found $is_search_has_numeric
ERRORI18nMissing Arg Domain2
- Category
- I18n
- Occurrences
- 2
- Severity
- error
Sample message
Missing $domain parameter in function call to esc_html_x().
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.
WARNINGSecurityDatabase parameter is not escaped1
- Category
- Security
- Occurrences
- 1
- Severity
- warning
Sample message
Unescaped parameter $sql used in $wpdb->query()\n$sql assigned unsafely at line 1033.
WARNINGSecurityReplacements Wrong Number1
- Category
- Security
- Occurrences
- 1
- Severity
- warning
Sample message
Incorrect number of replacements passed to $wpdb->prepare(). Found 1 replacement parameters, expected 4.
WARNINGMaintainabilityNon-prefixed class1
- Category
- Maintainability
- Occurrences
- 1
- Severity
- warning
Sample message
Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "Aelia_Integration_Helper".
WARNINGSecuritywp redirect wp redirect1
- Category
- Security
- Occurrences
- 1
- 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.
ERRORMaintainabilityparse url parse url1
- Category
- Maintainability
- Occurrences
- 1
- Severity
- error
Sample message
parse_url() is discouraged because of inconsistency in the output across PHP versions; use wp_parse_url() instead.
WARNINGPerformancePost Not In post not in1
- Category
- Performance
- Occurrences
- 1
- Severity
- warning
Sample message
Using exclusionary parameters, like post__not_in, 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.
WARNINGMaintainabilitymismatched plugin name1
- Category
- Maintainability
- Occurrences
- 1
- Severity
- warning
Sample message
Plugin name "WholesaleX - B2B & Wholesale Plugin for WooCommerce with Wholesale Prices" is different from the name declared in plugin header "WholesaleX".
External Connections
Not analyzed yet.
Score History
First score snapshot
v2.4.2
38
Latest
- Findings
- 220
- Errors
- 40
- Warnings
- 180
- Check
- 2.0.0
| Scan | Score | Findings | Errors | Warnings | Plugin | Check |
|---|---|---|---|---|---|---|
| Latest | 38 | 220 | 40 | 180 | v2.4.2 | 2.0.0 |
Relationship Map
Author, categories, issues, domains, and nearby plugins.