Better Messages – Chat Rooms, Group Chat, Private Messages & AI Chat Bots

Real-time messaging and chat rooms for WordPress ecosystem: private conversations, public and private chat rooms, video & audio calls, and more.

v2.15.13wordplusUpdated 2026-06-10Added Jan 3, 201710k+ installs96% rating89% support resolved
22
Score
1,604
Errors
2,019
Warnings
+0
Change

Category Scores

Security0
Repo90
Performance84
Maintainability0

Top Issues by Category

security1,847
maintainability1,369
i18n155

Issues Details

3,623 issues found in latest scan

WARNING535
WordPress.DB.DirectDatabaseQuery.DirectQuery

Use of a direct database call is discouraged.

ERROR492
WordPress.DB.PreparedSQL.NotPrepared

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

WARNING466
WordPress.DB.DirectDatabaseQuery.NoCaching

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

WARNING342
WordPress.DB.PreparedSQL.InterpolatedNotPrepared

Use placeholders and $wpdb->prepare(); found interpolated variable $base at "$base AND {$wpdb->posts}.post_type = %s ORDER BY meta_key ASC LIMIT %d"

ERROR260
WordPress.Security.EscapeOutput.OutputNotEscaped

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

ERROR248
PluginCheck.Security.DirectDB.UnescapedDBParameter

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

WARNING159
PluginCheck.Security.DirectDB.UnescapedDBParameter

Unescaped parameter $ai_usage_table used in $wpdb->get_col()\n$ai_usage_table assigned unsafely at line 1948.

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

ERROR154
WordPress.Security.EscapeOutput.ExceptionNotEscaped

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

WARNING94
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound

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

WARNING68
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound

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

WARNING50
WordPress.Security.ValidatedSanitizedInput.MissingUnslash

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

WARNING43
WordPress.Security.NonceVerification.Recommended

Processing form data without nonce verification.

ERROR43
WordPress.WP.AlternativeFunctions.unlink_unlink

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

WARNING42
WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

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

ERROR34
missing_direct_file_access_protection

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

ERROR28
wp_function_not_compatible_with_requires_wp

Function "wp_register_ability()" requires WordPress 6.9.0, but your plugin minimum supported version is WordPress 5.9.0.

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

WARNING22
Squiz.PHP.DiscouragedFunctions.Discouraged

The use of function ini_set() is discouraged

WARNING21
WordPress.DB.PreparedSQLPlaceholders.ReplacementsWrongNumber

Incorrect number of replacements passed to $wpdb->prepare(). Found 1 replacement parameters, expected 2.

ERROR20
WordPress.WP.AlternativeFunctions.file_system_operations_fclose

File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fclose().

ERROR19
WordPress.Security.EscapeOutput.UnsafePrintingFunction

All output should be run through an escaping function (like echo esc_html_x() or echo esc_attr_x()), found '_ex'.

WARNING17
PluginCheck.CodeAnalysis.WriteFile.ABSPATHDetected

Writing files using ABSPATH may be problematic. Consider using wp_upload_dir() instead if storing user data or generated files.

WARNING17
WordPress.Security.NonceVerification.Missing

Processing form data without nonce verification.

WARNING16
WordPress.DB.DirectDatabaseQuery.SchemaChange

Attempting a database schema change is discouraged.

Latest Snapshot

Findings

3,623

Errors

1,604

Warnings

2,019

Score History

First score snapshot

First scan completed Jun 20, 2026

v2.15.13 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2

Jun 20, 2026

v2.15.13

22

Latest

Findings
3,623
Errors
1,604
Warnings
2,019
Plugin Check
2.0.0
Model
2026.06-mvp-static-v2

Related Plugins