Customize WordPress Emails and Alerts – Better Notifications for WP

Supercharge your WordPress email notifications using a WYSIWYG editor and shortcodes. Default and new notifications available. Add-ons available.

v1.9.9.1Jack - BNFWUpdated 2025-09-08Added Mar 16, 201330k+ installs96% rating0% support resolved
37
Score
64
Errors
47
Warnings
+0
Change

Category Scores

Security0
Repo94
Performance100
Maintainability66

Top Issues by Category

maintainability42
security38
i18n30
repo_compliance1

Issues Details

111 issues found in latest scan

ERROR17
WordPress.WP.I18n.MissingArgDomain

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

WARNING14
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound

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

ERROR11
WordPress.WP.I18n.TextDomainMismatch

Mismatched text domain. Expected 'bnfw' but got 'easy-digital-downloads'.

ERROR10
WordPress.Security.EscapeOutput.OutputNotEscaped

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

ERROR9
PluginCheck.CodeAnalysis.SettingSanitization.register_settingMissing

Sanitization missing for register_setting().

ERROR8
wp_function_not_compatible_with_requires_wp

Function "get_main_site_id()" requires WordPress 4.9.0, but your plugin minimum supported version is WordPress 4.8.0.

WARNING7
WordPress.Security.NonceVerification.Recommended

Processing form data without nonce verification.

WARNING6
WordPress.Security.ValidatedSanitizedInput.MissingUnslash

$_GET['bnfw_action'] not unslashed before sanitization. Use wp_unslash() or similar

WARNING4
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound

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

WARNING4
WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

Detected usage of a non-sanitized input variable: $_GET['bnfw_action']

ERROR4
missing_direct_file_access_protection

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

WARNING2
WordPress.DB.SlowDBQuery.slow_db_query_meta_query

Detected usage of meta_query, possible slow query.

WARNING2
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound

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

ERROR2
plugin_updater_detected

Plugin Updater detected. These are not permitted in WordPress.org hosted plugins. Detected: class EDD_SL_Plugin_Updater

WARNING2
trademarked_term

The plugin name includes a restricted term. Your chosen plugin name - "Better Notifications for WP" - contains the restricted term "wp" which cannot be used at all in your plugin name.

WARNING2
update_modification_detected

Plugin Updater detected. Detected code which may be altering WordPress update routines. Detected: _site_transient_update_plugins

WARNING1
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.

WARNING1
PluginCheck.Security.DirectDB.UnescapedDBParameter

Unescaped parameter $query used in $wpdb->get_var()\n$query assigned unsafely at line 1772.

WARNING1
WordPress.Security.ValidatedSanitizedInput.InputNotValidated

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

ERROR1
WordPress.WP.AlternativeFunctions.parse_url_parse_url

parse_url() is discouraged because of inconsistency in the output across PHP versions; use wp_parse_url() instead.

ERROR1
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.

WARNING1
mismatched_plugin_name

Plugin name "Customize WordPress Emails and Alerts - Better Notifications for WP" is different from the name declared in plugin header "Better Notifications for WP".

ERROR1
outdated_tested_upto_header

Tested up to: 6.8 < 7.0. The "Tested up to" value in your plugin is not set to the current version of WordPress. This means your plugin will not show up in searches, as we require plugins to be compatible and documented as tested up to the most recent version of WordPress.

Latest Snapshot

Findings

111

Errors

64

Warnings

47

Score History

First score snapshot

First scan completed Jun 20, 2026

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

Jun 20, 2026

v1.9.9.1

37

Latest

Findings
111
Errors
64
Warnings
47
Plugin Check
2.0.0
Model
2026.06-mvp-static-v2

Related Plugins