SimplyBook.me – Booking and reservations calendar

Simply add a booking calendar to your site to schedule bookings, reservations, appointments and to collect payments.

v3.3.1Really Simple PluginsUpdated 2026-05-19Added Apr 5, 202430k+ installs90% rating100% support resolved
54
Score
31
Errors
13
Warnings
+0
Change

Category Scores

Security25
Repo100
Performance100
Maintainability78

Top Issues by Category

Issues Details

44 issues found in latest scan

ERROR13
WordPress.Security.EscapeOutput.ExceptionNotEscaped

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"Class must be a fully qualified name. Given type: $type"'.

ERROR8
missing_direct_file_access_protection

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

ERROR5
Internal.Exception

An error occurred during processing; checking has been aborted. The error message was: PHPCSUtils\Utils\PassedParameters::hasParameters(): Argument #2 ($stackPtr) must be of type function call, array, isset, unset or exit; T_THROW given.\nThe error originated in the WordPress.Security.EscapeOutput sniff on line 270.

WARNING3
WordPress.Security.NonceVerification.Recommended

Processing form data without nonce verification.

ERROR2
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
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->query()\n$query assigned unsafely at line 333.

WARNING1
WordPress.DB.DirectDatabaseQuery.NoCaching

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

WARNING1
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedConstantFound

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

WARNING1
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound

Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "getThemeColorsForDefaults".

WARNING1
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound

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

WARNING1
WordPress.PHP.DevelopmentFunctions.error_log_print_r

print_r() found. Debug code should not normally be used in production.

WARNING1
WordPress.Security.NonceVerification.Missing

Processing form data without nonce verification.

WARNING1
WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

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

WARNING1
WordPress.Security.ValidatedSanitizedInput.MissingUnslash

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

ERROR1
WordPress.WP.I18n.MissingArgDomain

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

ERROR1
application_detected

Application files are not permitted.

ERROR1
block_api_version_too_low

Editor blocks must define "apiVersion" 3 or higher in block.json for WordPress 7.0+ iframe editor compatibility.

Latest Snapshot

Findings

44

Errors

31

Warnings

13

Score History

First score snapshot

First scan completed Jun 20, 2026

v3.3.1 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2

Jun 20, 2026

v3.3.1

54

Latest

Findings
44
Errors
31
Warnings
13
Plugin Check
2.0.0
Model
2026.06-mvp-static-v2

Related Plugins