Create eye-catching product badges and labels for your WooCommerce store in seconds. 100+ built-in product badges. Fully customizable.
Prioritized issue groups from the latest Plugin Check scan
Maintainability
35
11 issue groups
Security
19
9 issue groups
I18n
11
2 issue groups
Repo Compliance
3
3 issue groups
Sample message
The $domain parameter must be a single text string literal. Found: $td
Sample message
Use of a direct database call is discouraged.
Sample message
Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().
Sample message
Unescaped parameter $table used in $wpdb->get_results()\n$table assigned unsafely at line 54.
Sample message
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "store_manager_dropdown_exclude_taxonomy".
Sample message
Use placeholders and $wpdb->prepare(); found interpolated variable $table_name at "SELECT * FROM $table_name WHERE id = %d"
Sample message
Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$settings".
Sample message
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
Sample message
date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.
Sample message
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found 'cpbw_sanitize_badge_html'.
Sample message
Processing form data without nonce verification.
Sample message
$_POST['data'] not unslashed before sanitization. Use wp_unslash() or similar
Sample message
Use of heredoc syntax (<<<) is not allowed; use standard strings or inline HTML instead
Sample message
Detected usage of meta_query, possible slow query.
Sample message
Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "IS_PRO".
Sample message
Processing form data without nonce verification.
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.
Sample message
Detected usage of a non-sanitized input variable: $_POST['data']
Sample message
Detected usage of a possibly undefined superglobal array index: $_POST['dismiss_type']. Check that the array index exists before using it.
Sample message
Mismatched text domain. Expected 'custom-product-badge-for-woocommerce' but got 'disco'.
Sample message
Tested up to: 7.0.1 The version number should only include major versions 7.0.
Sample message
Plugin name "Better Badge - Custom Product Badges for WooCommerce" is different from the name declared in plugin header "Better Badge".
Sample message
The "Domain Path" header in the plugin file must point to an existing folder. Found: "languages"
Sample message
Mismatched Requires at least: 5.4 != 5.2. "Requires at least" needs to be exactly the same with that in your main plugin file's header.
Sample message
The "Short Description" section is too long and was truncated. A maximum of 150 characters is supported.
Potential connections found in static code analysis.
Outbound calls
27
External assets
0
Incoming endpoints
5
No external asset domains detected.
No public endpoints detected.
wp_ajax
wp_ajax
wp_ajax
wp_ajax
wp_ajax
4 score snapshots
v1.4.11
47
Latest
v1.4.10
48
Score
| Scan | Score | Findings | Errors | Warnings | Plugin | Check |
|---|---|---|---|---|---|---|
| Latest | 47 | 69 | 22 | 47 | v1.4.11 | 2.0.0 |
| 48 | 68 | 21 | 47 | v1.4.10 | 2.0.0 |
Author, categories, issues, domains, and nearby plugins.