Quantity Discounts, Breaks & Product Bundles for Woocommerce By Bundler

🚀 Boost your Woocommerce sales with Quantity Discounts, Quantity Breaks, Product Bundles, Volume Discounts and Dynamic Pricing.

v3.4.2WooBundlesUpdated Added 400 installs90% rating0% support resolved
32
Score
147
Errors
319
Warnings
+0
Change

Category Scores

Security0
Repo100
Performance98
Maintainability35

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

466 findings

Maintainability

210

10 issue groups

Security

206

11 issue groups

I18n

43

4 issue groups

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

Sample message

Use of a direct database call is discouraged.

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

Sample message

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

WARNINGSecurityMissing nonce verificationProcessing form data without nonce verification.50
Category
Security
Occurrences
50
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().47
Category
Maintainability
Occurrences
47
Severity
warning

Sample message

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

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

Sample message

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

WARNINGSecurityInterpolated SQL is not preparedUse placeholders and $wpdb->prepare(); found interpolated variable $bundle_settings_table at "SELECT * FROM $bundle_settings_table "40
Category
Security
Occurrences
40
Severity
warning

Sample message

Use placeholders and $wpdb->prepare(); found interpolated variable $bundle_settings_table at "SELECT * FROM $bundle_settings_table "

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

Sample message

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

ERRORI18nNon Singular String Literal TextThe $text parameter must be a single text string literal. Found: $discount_option->discount_method20
Category
I18n
Occurrences
20
Severity
error

Sample message

The $text parameter must be a single text string literal. Found: $discount_option->discount_method

WARNINGSecurityRequest data is not unslashed$_POST['collection'] not unslashed before sanitization. Use wp_unslash() or similar19
Category
Security
Occurrences
19
Severity
warning

Sample message

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

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

Sample message

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

Show 15 more
ERRORSecurityDatabase parameter is not escaped17
Category
Security
Occurrences
17
Severity
error

Sample message

Unescaped parameter $bundle_table used in $wpdb->get_row()\n$bundle_table assigned unsafely at line 14.

ERRORSecuritySQL query is not prepared13
Category
Security
Occurrences
13
Severity
error

Sample message

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

WARNINGMaintainabilityNon-prefixed hook name13
Category
Maintainability
Occurrences
13
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "after_appsero_license_section".

ERRORMaintainabilitystrip tags strip tags12
Category
Maintainability
Occurrences
12
Severity
error

Sample message

strip_tags() is discouraged. Use the more comprehensive wp_strip_all_tags() instead.

WARNINGSecurityDatabase parameter is not escaped11
Category
Security
Occurrences
11
Severity
warning

Sample message

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

WARNINGSecurityInput is not sanitized9
Category
Security
Occurrences
9
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_POST[$key]

WARNINGMaintainabilityDynamic hook name4
Category
Maintainability
Occurrences
4
Severity
warning

Sample message

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

WARNINGSecurityUnfinished Prepare2
Category
Security
Occurrences
2
Severity
warning

Sample message

Replacement variables found, but no valid placeholders found in the query.

WARNINGSecurityNonce verification recommended2
Category
Security
Occurrences
2
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGSecurityInput is not validated2
Category
Security
Occurrences
2
Severity
warning

Sample message

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

ERRORI18nMissing Translators Comment2
Category
I18n
Occurrences
2
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.

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

WARNINGMaintainabilityNo PHP code found1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

No PHP code was found in this file and short open tags are not allowed by this install of PHP. This file may be using short open tags but PHP does not allow them.

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.

WARNINGMaintainabilityslow db query tax query1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

Detected usage of tax_query, possible slow query.

External Connections

Potential connections found in static code analysis.

15 domains

Outbound calls

36

External assets

0

Incoming endpoints

3

Notable Domains

wcbundler.com8 · outbound
appsero.com3 · outbound
api.appsero.com1 · outbound
icanhazip.com1 · outbound
jquery.org1 · outbound

Platform / Reference Domains

w3.org10 · platform/reference
github.com3 · platform/reference
gnu.org2 · platform/reference
wordpress.org1 · platform/reference

External Asset Domains

No external asset domains detected.

Incoming Endpoints

wp_ajax_nopriv_public

wp_ajax

Admin AJAX endpoints1
wp_ajax_appsero_refresh_license_authenticated

wp_ajax

Score History

First score snapshot

v3.4.2

32

Latest

Findings
466
Errors
147
Warnings
319
Check
2.0.0

Relationship Map

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

37 nodes

Related Plugins

100
Portfolios

700 active installs

85
Price Table Block

900 active installs

81