Premmerce Wholesale Pricing for WooCommerce is a plugin that allows you to add individual wholesale prices or other price types for WooCommerce produc …
Category Scores
Issues to Review
Prioritized issue groups from the latest Plugin Check scan
Maintainability
1,314
11 issue groups
Security
627
13 issue groups
I18n
50
1 issue group
WARNINGMaintainabilityNon-prefixed global variableGlobal variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$account_addon_ids".1,097
- Category
- Maintainability
- Occurrences
- 1,097
- Severity
- warning
Sample message
Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$account_addon_ids".
ERRORSecurityOutput is not escapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '" <a href='{$skip_url}' class='button button-small button-secondary'>{$use_plugin_anonymously_text}</a>"'.537
- Category
- Security
- Occurrences
- 537
- Severity
- error
Sample message
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '" <a href='{$skip_url}' class='button button-small button-secondary'>{$use_plugin_anonymously_text}</a>"'.
WARNINGMaintainabilityNon-prefixed functionFunctions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "_fs_text".99
- Category
- Maintainability
- Occurrences
- 99
- Severity
- warning
Sample message
Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "_fs_text".
WARNINGMaintainabilityNon-prefixed classClasses declared by a theme/plugin should start with the theme/plugin prefix. Found: "FS_Admin_Menu_Manager".55
- Category
- Maintainability
- Occurrences
- 55
- Severity
- warning
Sample message
Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "FS_Admin_Menu_Manager".
ERRORI18nText Domain MismatchMismatched text domain. Expected 'premmerce-woocommerce-wholesale-pricing' but got 'premmerce-price-types'.50
- Category
- I18n
- Occurrences
- 50
- Severity
- error
Sample message
Mismatched text domain. Expected 'premmerce-woocommerce-wholesale-pricing' but got 'premmerce-price-types'.
WARNINGMaintainabilityNon-prefixed constantGlobal constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "FS_API__ADDRESS".26
- Category
- Maintainability
- Occurrences
- 26
- Severity
- warning
Sample message
Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "FS_API__ADDRESS".
ERRORSecurityUnsafe printing functionAll output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.18
- Category
- Security
- Occurrences
- 18
- Severity
- error
Sample message
All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.
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.
WARNINGSecurityInput is not sanitizedDetected usage of a non-sanitized input variable: $_GET['_wpnonce']11
- Category
- Security
- Occurrences
- 11
- Severity
- warning
Sample message
Detected usage of a non-sanitized input variable: $_GET['_wpnonce']
WARNINGSecurityInterpolated SQL is not preparedUse placeholders and $wpdb->prepare(); found interpolated variable {$placeholders} at "DELETE FROM `{$this->getTblNamePriceTypes()}` WHERE `id` IN ({$placeholders})"10
- Category
- Security
- Occurrences
- 10
- Severity
- warning
Sample message
Use placeholders and $wpdb->prepare(); found interpolated variable {$placeholders} at "DELETE FROM `{$this->getTblNamePriceTypes()}` WHERE `id` IN ({$placeholders})"
Show 15 moreShow less
WARNINGMaintainabilityNo Caching8
- Category
- Maintainability
- Occurrences
- 8
- Severity
- warning
Sample message
Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().
WARNINGSecurityInput is not validated8
- Category
- Security
- Occurrences
- 8
- Severity
- warning
Sample message
Detected usage of a possibly undefined superglobal array index: $_POST['variable_price_types'][$i]. Check that the array index exists before using it.
ERRORSecurityException output is not escaped7
- Category
- Security
- Occurrences
- 7
- Severity
- error
Sample message
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$message'.
WARNINGSecurityRequest data is not unslashed7
- Category
- Security
- Occurrences
- 7
- Severity
- warning
Sample message
$_GET['item'] not unslashed before sanitization. Use wp_unslash() or similar
WARNINGMaintainabilityMissing Version7
- Category
- Maintainability
- Occurrences
- 7
- 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.
WARNINGSecurityMissing nonce verification6
- Category
- Security
- Occurrences
- 6
- Severity
- warning
Sample message
Processing form data without nonce verification.
WARNINGSecuritywp redirect wp redirect6
- Category
- Security
- Occurrences
- 6
- 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.
ERRORSecurityDatabase parameter is not escaped5
- Category
- Security
- Occurrences
- 5
- Severity
- error
Sample message
Unescaped parameter $query used in $wpdb->get_results()\n$query assigned unsafely at line 608.
ERRORSecuritySQL query is not prepared4
- Category
- Security
- Occurrences
- 4
- Severity
- error
Sample message
Use placeholders and $wpdb->prepare(); found $sql
WARNINGSecurityUnfinished Prepare4
- Category
- Security
- Occurrences
- 4
- Severity
- warning
Sample message
Replacement variables found, but no valid placeholders found in the query.
WARNINGSecurityNonce verification recommended4
- Category
- Security
- Occurrences
- 4
- Severity
- warning
Sample message
Processing form data without nonce verification.
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.
ERRORMaintainabilitywp function not compatible with requires wp3
- Category
- Maintainability
- Occurrences
- 3
- Severity
- error
Sample message
Function "wp_get_update_php_url()" requires WordPress 5.1.0, but your plugin minimum supported version is WordPress 4.8.0.
WARNINGMaintainabilitySchema Change2
- Category
- Maintainability
- Occurrences
- 2
- Severity
- warning
Sample message
Attempting a database schema change is discouraged.
WARNINGMaintainabilityNon-prefixed hook name2
- Category
- Maintainability
- Occurrences
- 2
- Severity
- warning
Sample message
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "fs_plugins_api".
External Connections
Potential connections found in static code analysis.
Outbound calls
181
External assets
2
Incoming endpoints
6
Notable Domains
Platform / Reference Domains
External Asset Domains
No external asset domains detected.
Incoming Endpoints
No public endpoints detected.
Admin AJAX endpoints6
admin_post
admin_post
admin_post
admin_post
wp_ajax
wp_ajax
Score History
First score snapshot
v1.1.13
25
Latest
- Findings
- 2,012
- Errors
- 635
- Warnings
- 1,377
- Check
- 2.0.0
| Scan | Score | Findings | Errors | Warnings | Plugin | Check |
|---|---|---|---|---|---|---|
| Latest | 25 | 2,012 | 635 | 1,377 | v1.1.13 | 2.0.0 |
Relationship Map
Author, categories, issues, domains, and nearby plugins.