Kadence WooCommerce Email Designer

Customize the default WooCommerce email templates design and text through the native WordPress customizer. Preview emails and send test emails.

v1.5.18NexcessUpdated 2025-11-20Added May 29, 2018100k+ installs90% rating0% support resolved
34
Score
119
Errors
230
Warnings
+0
Change

Category Scores

Security0
Repo85
Performance100
Maintainability56

Top Issues by Category

maintainability200
security114
i18n33
supply_chain1

Issues Details

349 issues found in latest scan

WARNING152
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound

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

ERROR55
WordPress.Security.EscapeOutput.OutputNotEscaped

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

WARNING24
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound

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

ERROR24
WordPress.Security.EscapeOutput.UnsafePrintingFunction

All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.

ERROR16
WordPress.WP.I18n.TextDomainMismatch

Mismatched text domain. Expected 'kadence-woocommerce-email-designer' but got 'customizer-export-import'.

ERROR10
WordPress.WP.I18n.MissingTranslatorsComment

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.

WARNING8
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound

Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "KWED_Cartflows_CA_Email".

WARNING8
WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

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

WARNING7
WordPress.Security.NonceVerification.Recommended

Processing form data without nonce verification.

WARNING7
WordPress.Security.ValidatedSanitizedInput.InputNotValidated

Detected usage of a possibly undefined superglobal array index: $_FILES['kadence-woomail-import-file']. Check that the array index exists before using it.

WARNING7
WordPress.Security.ValidatedSanitizedInput.MissingUnslash

$_REQUEST['kt-woomail-export'] not unslashed before sanitization. Use wp_unslash() or similar

ERROR5
WordPress.DateTime.RestrictedFunctions.date_date

date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.

WARNING4
WordPress.Security.NonceVerification.Missing

Processing form data without nonce verification.

WARNING3
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedConstantFound

Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "KT_WOOMAIL_PATH".

ERROR3
WordPress.WP.I18n.UnorderedPlaceholdersText

Multiple placeholders in translatable strings should be ordered. Expected "%1$s, %2$s", but got "%s, %s" in '%s is now back in stock at %s. '.

WARNING3
trademarked_term

The plugin name includes a restricted term. Your chosen plugin name - "Kadence WooCommerce Email Designer" - contains the restricted term "woocommerce" which cannot be used within in your plugin name, unless your plugin name contains one of the allowed patterns: "for woocommerce", "with woocommerce", "using woocommerce", or "and woocommerce". The term must still not appear anywhere else in your name.

WARNING2
PluginCheck.CodeAnalysis.DiscouragedFunctions.load_plugin_textdomainFound

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.

WARNING2
WordPress.Security.SafeRedirect.wp_redirect_wp_redirect

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.

ERROR2
missing_direct_file_access_protection

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

WARNING1
WordPress.NamingConventions.PrefixAllGlobals.DynamicHooknameFound

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "{$email_id}_email_body".

ERROR1
WordPress.WP.AlternativeFunctions.unlink_unlink

unlink() is discouraged. Use wp_delete_file() to delete a file.

WARNING1
WordPress.WP.EnqueuedResourceParameters.MissingVersion

Resource version not set in call to wp_enqueue_style(). This means new versions of the style may not always be loaded due to browser caching.

ERROR1
WordPress.WP.I18n.MixedOrderedPlaceholdersText

Multiple placeholders in translatable strings should be ordered. Mix of ordered and non-ordered placeholders found. Found: "%d, %s, %3$s" in 'The automatic recurring payment for order #%d from %s has failed. The payment will be retried %3$s.'.

WARNING1
WordPress.WP.I18n.NoHtmlWrappedStrings

Translatable string should not be wrapped in HTML. Found: '<p>Use native WordPress Customizer to make Woocommerce emails match your brand.</p>'

ERROR1
hidden_files

Hidden files are not permitted.

Latest Snapshot

Findings

349

Errors

119

Warnings

230

Score History

First score snapshot

First scan completed Jun 20, 2026

v1.5.18 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2

Jun 20, 2026

v1.5.18

34

Latest

Findings
349
Errors
119
Warnings
230
Plugin Check
2.0.0
Model
2026.06-mvp-static-v2

Related Plugins