Appointment Booking Calendar — Simply Schedule Appointments Booking Plugin

Unlimited appointments, booking calendars, and notifications. Powerful appointment booking plugin and booking system. Start scheduling for free today!

v1.6.12.4NSquaredUpdated Added 60k+ installs100% rating71% support resolved
25
Score
960
Errors
738
Warnings
+0
Change

Category Scores

Security0
Repo100
Performance100
Maintainability0

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

1,698 findings

Security

873

13 issue groups

I18n

424

4 issue groups

Maintainability

262

8 issue groups

ERRORI18nText Domain MismatchMismatched text domain. Expected 'simply-schedule-appointments' but got 'elementor'.327
Category
I18n
Occurrences
327
Severity
error

Sample message

Mismatched text domain. Expected 'simply-schedule-appointments' but got 'elementor'.

ERRORSecurityOutput is not escapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$actions'.248
Category
Security
Occurrences
248
Severity
error

Sample message

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

WARNINGSecurityNonce verification recommendedProcessing form data without nonce verification.162
Category
Security
Occurrences
162
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGSecurityRequest data is not unslashed$_COOKIE['health-check-disable-plugins'] not unslashed before sanitization. Use wp_unslash() or similar90
Category
Security
Occurrences
90
Severity
warning

Sample message

$_COOKIE['health-check-disable-plugins'] not unslashed before sanitization. Use wp_unslash() or similar

WARNINGSecurityInput is not sanitizedDetected usage of a non-sanitized input variable: $_COOKIE['health-check-disable-plugins']88
Category
Security
Occurrences
88
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_COOKIE['health-check-disable-plugins']

WARNINGSecurityInterpolated SQL is not preparedUse placeholders and $wpdb->prepare(); found interpolated variable $author_ids at " AND `%i` IN( SELECT ID FROM $wpdb->posts WHERE post_author = $author_ids ) "75
Category
Security
Occurrences
75
Severity
warning

Sample message

Use placeholders and $wpdb->prepare(); found interpolated variable $author_ids at " AND `%i` IN( SELECT ID FROM $wpdb->posts WHERE post_author = $author_ids ) "

WARNINGMaintainabilityDirect QueryUse of a direct database call is discouraged.69
Category
Maintainability
Occurrences
69
Severity
warning

Sample message

Use of a direct database call is discouraged.

WARNINGMaintainabilityNo CachingDirect database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().67
Category
Maintainability
Occurrences
67
Severity
warning

Sample message

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

ERRORSecuritySQL query is not preparedUse placeholders and $wpdb->prepare(); found $args52
Category
Security
Occurrences
52
Severity
error

Sample message

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

ERRORI18nMissing Arg DomainMissing $domain parameter in function call to __().44
Category
I18n
Occurrences
44
Severity
error

Sample message

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

Show 15 more
ERRORI18nMissing Translators Comment38
Category
I18n
Occurrences
38
Severity
error

Sample message

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.

WARNINGSecurityInput is not validated33
Category
Security
Occurrences
33
Severity
warning

Sample message

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

WARNINGSecuritywp redirect wp redirect29
Category
Security
Occurrences
29
Severity
warning

Sample message

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.

ERRORMaintainabilityMissing direct file access protection28
Category
Maintainability
Occurrences
28
Severity
error

Sample message

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

ERRORMaintainabilitydate date26
Category
Maintainability
Occurrences
26
Severity
error

Sample message

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

ERRORMaintainabilityShort PHP open tag found25
Category
Maintainability
Occurrences
25
Severity
error

Sample message

Short PHP opening tag used with echo; expected "<?php echo ! ..." but found "<?= ! ..."

ERRORSecurityException output is not escaped24
Category
Security
Occurrences
24
Severity
error

Sample message

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

WARNINGSecurityDatabase parameter is not escaped21
Category
Security
Occurrences
21
Severity
warning

Sample message

Unescaped parameter $appointment_meta_table used in $wpdb-&gt;query()\n$appointment_meta_table assigned unsafely at line 2355.

ERRORSecurityUnsafe printing function18
Category
Security
Occurrences
18
Severity
error

Sample message

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

ERRORSecurityDatabase parameter is not escaped17
Category
Security
Occurrences
17
Severity
error

Sample message

Unescaped parameter $confirm_query used in $wpdb->get_results()\n$confirm_query assigned unsafely at line 1001.

WARNINGMaintainabilityerror log error log17
Category
Maintainability
Occurrences
17
Severity
warning

Sample message

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

WARNINGSecurityUnfinished Prepare16
Category
Security
Occurrences
16
Severity
warning

Sample message

Replacement variables found, but no valid placeholders found in the query.

ERRORMaintainabilityrand rand16
Category
Maintainability
Occurrences
16
Severity
error

Sample message

rand() is discouraged. Use the far less predictable wp_rand() instead.

ERRORI18nNon Singular String Literal Text15
Category
I18n
Occurrences
15
Severity
error

Sample message

The $text parameter must be a single text string literal. Found: $default_all_display_setting

ERRORMaintainabilityNon Enqueued Stylesheet14
Category
Maintainability
Occurrences
14
Severity
error

Sample message

Stylesheets must be registered/enqueued via wp_enqueue_style()

External Connections

Potential connections found in static code analysis.

49 domains

Outbound calls

176

External assets

19

Incoming endpoints

8

Notable Domains

php.net21 · outbound
googleapis.com11 · outbound
en.wikipedia.org8 · outbound
twig.symfony.com5 · outbound

Platform / Reference Domains

github.com12 · platform/reference
wordpress.org10 · platform/reference
w3.org3 · platform/reference
api.w.org2 · platform/reference
core.trac.wordpress.org2 · platform/reference
api.wordpress.org1 · platform/reference
codex.wordpress.org1 · platform/reference
gnu.org1 · platform/reference
opensource.org1 · platform/reference
plugins.svn.wordpress.org1 · platform/reference
translate.wordpress.org1 · platform/reference

External Asset Domains

fonts.googleapis.com21 · asset + outbound
js.stripe.com3 · asset

Incoming Endpoints

/wp-json/ssa/v1/render-shortcodeREST

register_rest_route

wp_ajax_nopriv_public

wp_ajax

Admin AJAX endpoints6
wp_ajax_health-check-confirm-warningauthenticated

wp_ajax

wp_ajax_health-check-files-integrity-checkauthenticated

wp_ajax

wp_ajax_health-check-loopback-default-themeauthenticated

wp_ajax

wp_ajax_health-check-loopback-individual-pluginsauthenticated

wp_ajax

wp_ajax_health-check-loopback-no-pluginsauthenticated

wp_ajax

wp_ajax_health-check-mail-checkauthenticated

wp_ajax

Score History

2 score snapshots

+0
1007550250Jun 20, 2026, 01:38 AM UTC Score 25/100 Plugin v1.6.12.2 Plugin Check 2.0.0 960 errors, 738 warningsJun 23, 2026, 10:46 PM UTC Score 25/100 Plugin v1.6.12.4 Plugin Check 2.0.0 960 errors, 738 warningsJun 20, 2026Jun 23, 2026

v1.6.12.4

25

Latest

Findings
1,698
Errors
960
Warnings
738
Check
2.0.0

v1.6.12.2

25

Score

Findings
1,698
Errors
960
Warnings
738
Check
2.0.0

Relationship Map

Author, categories, issues, domains, and nearby plugins.

37 nodes

Related Plugins

Cal.com

1k+ active installs

99
Shore Booking Widget

1k+ active installs

99
WPS Bookings for WooCommerce

4k+ active installs

88