Additional functionality for WooCommerce Coupons: Allow discounts to be automatically applied, applying coupons via url, etc...
Category Scores
Top Issues by Category
i18n127
security105
maintainability44
Issues Details
282 issues found in latest scan
Mismatched text domain. Expected 'woocommerce-auto-added-coupons' but got 'woocommerce'.
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$args['type']'.
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$GLOBALS['wjecf_admin_notice']'.
Processing form data without nonce verification.
All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.
Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().
Detected usage of a non-sanitized input variable: $_GET['apply_coupon']
$_GET['apply_coupon'] not unslashed before sanitization. Use wp_unslash() or similar
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
Detected usage of meta_key, possible slow query.
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "plugin_locale".
error_log() found. Debug code should not normally be used in production.
Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$thepostid".
print_r() found. Debug code should not normally be used in production.
Detected usage of meta_query, possible slow query.
Processing form data without nonce verification.
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.
Unescaped parameter $delete_meta_ids used in $wpdb->query()\n$delete_meta_ids assigned unsafely at line 103.
Use placeholders and $wpdb->prepare(); found $delete_meta_ids
Detected usage of meta_value, possible slow query.
date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.
Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "Abstract_WJECF_Plugin".
debug_backtrace() found. Debug code should not normally be used in production.
The parameter "'orderby=name&hide_empty=0'" at position #2 of get_terms() has been deprecated since WordPress version 4.5.0. Instead do not pass the parameter.
| Code | Type | Message | Count |
|---|---|---|---|
| WordPress.WP.I18n.TextDomainMismatch | ERROR | Mismatched text domain. Expected 'woocommerce-auto-added-coupons' but got 'woocommerce'. | 126 |
| WordPress.Security.EscapeOutput.ExceptionNotEscaped | ERROR | All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$args['type']'. | 42 |
| WordPress.Security.EscapeOutput.OutputNotEscaped | ERROR | All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$GLOBALS['wjecf_admin_notice']'. | 30 |
| WordPress.Security.NonceVerification.Recommended | WARNING | Processing form data without nonce verification. | 9 |
| WordPress.Security.EscapeOutput.UnsafePrintingFunction | ERROR | All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'. | 8 |
| WordPress.DB.DirectDatabaseQuery.DirectQuery | WARNING | Use of a direct database call is discouraged. | 6 |
| WordPress.DB.DirectDatabaseQuery.NoCaching | WARNING | Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete(). | 6 |
| WordPress.Security.ValidatedSanitizedInput.InputNotSanitized | WARNING | Detected usage of a non-sanitized input variable: $_GET['apply_coupon'] | 6 |
| WordPress.Security.ValidatedSanitizedInput.MissingUnslash | WARNING | $_GET['apply_coupon'] not unslashed before sanitization. Use wp_unslash() or similar | 6 |
| missing_direct_file_access_protection | ERROR | PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit; | 6 |
| WordPress.DB.SlowDBQuery.slow_db_query_meta_key | WARNING | Detected usage of meta_key, possible slow query. | 5 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound | WARNING | Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "plugin_locale". | 4 |
| WordPress.PHP.DevelopmentFunctions.error_log_error_log | WARNING | error_log() found. Debug code should not normally be used in production. | 4 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound | WARNING | Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$thepostid". | 3 |
| WordPress.PHP.DevelopmentFunctions.error_log_print_r | WARNING | print_r() found. Debug code should not normally be used in production. | 3 |
| WordPress.DB.SlowDBQuery.slow_db_query_meta_query | WARNING | Detected usage of meta_query, possible slow query. | 2 |
| WordPress.Security.NonceVerification.Missing | WARNING | Processing form data without nonce verification. | 2 |
| PluginCheck.CodeAnalysis.DiscouragedFunctions.load_plugin_textdomainFound | WARNING | 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. | 1 |
| PluginCheck.Security.DirectDB.UnescapedDBParameter | ERROR | Unescaped parameter $delete_meta_ids used in $wpdb->query()\n$delete_meta_ids assigned unsafely at line 103. | 1 |
| WordPress.DB.PreparedSQL.NotPrepared | ERROR | Use placeholders and $wpdb->prepare(); found $delete_meta_ids | 1 |
| WordPress.DB.SlowDBQuery.slow_db_query_meta_value | WARNING | Detected usage of meta_value, possible slow query. | 1 |
| WordPress.DateTime.RestrictedFunctions.date_date | ERROR | date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead. | 1 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound | WARNING | Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "Abstract_WJECF_Plugin". | 1 |
| WordPress.PHP.DevelopmentFunctions.error_log_debug_backtrace | WARNING | debug_backtrace() found. Debug code should not normally be used in production. | 1 |
| WordPress.WP.DeprecatedParameters.Get_termsParam2Found | ERROR | The parameter "'orderby=name&hide_empty=0'" at position #2 of get_terms() has been deprecated since WordPress version 4.5.0. Instead do not pass the parameter. | 1 |
Latest Snapshot
Findings
282
Errors
219
Warnings
63
Score History
First score snapshot
First scan completed Jun 20, 2026
v3.4.2 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2
Jun 20, 2026
v3.4.2
36
Latest
- Findings
- 282
- Errors
- 219
- Warnings
- 63
- Plugin Check
- 2.0.0
- Model
- 2026.06-mvp-static-v2
| Scan | Score | Findings | Errors | Warnings | Plugin | Plugin Check | Model |
|---|---|---|---|---|---|---|---|
| Jun 20, 2026Latest | 36 | 282 | 219 | 63 | v3.4.2 | 2.0.0 | 2026.06-mvp-static-v2 |