Easy Appointments

The easiest way to accept bookings on WordPress for free. Set up a beautiful appointment booking form for your business in minutes — no coding needed.

v3.12.26Easy AppointmentsUpdated 2026-06-18Added May 29, 201510k+ installs86% rating40% support resolved
26
Score
135
Errors
569
Warnings
+0
Change

Category Scores

Security0
Repo91
Performance100
Maintainability14

Top Issues by Category

maintainability637
security62
i18n2

Issues Details

704 issues found in latest scan

WARNING465
Generic.PHP.DisallowAlternativePHPTags.MaybeASPOpenTagFound

Possible use of ASP style opening tags detected; found: <% _.each(cache.Locations,function(item,ke...

ERROR77
wp_function_not_compatible_with_requires_wp

Function "get_rest_url()" requires WordPress 4.4.0, but your plugin minimum supported version is WordPress 3.7.0.

ERROR26
missing_direct_file_access_protection

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

WARNING17
WordPress.DB.DirectDatabaseQuery.DirectQuery

Use of a direct database call is discouraged.

WARNING17
WordPress.DB.DirectDatabaseQuery.NoCaching

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

ERROR16
WordPress.Security.EscapeOutput.OutputNotEscaped

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"<td>{$row->start}</td>\n'.

WARNING14
WordPress.DB.PreparedSQL.InterpolatedNotPrepared

Use placeholders and $wpdb-&gt;prepare(); found interpolated variable $ids_in at WHERE app_id IN ($ids_in)\n

WARNING12
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound

Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: &quot;EAAdminPanel&quot;.

WARNING9
Internal.NoCodeFound

No PHP code was found in this file and short open tags are not allowed by this install of PHP. This file may be using short open tags but PHP does not allow them.

WARNING8
PluginCheck.Security.DirectDB.UnescapedDBParameter

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

WARNING6
WordPress.Security.ValidatedSanitizedInput.MissingUnslash

$_GET[&#039;_wpnonce&#039;] not unslashed before sanitization. Use wp_unslash() or similar

ERROR5
PluginCheck.Security.DirectDB.UnescapedDBParameter

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

ERROR4
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.NamingConventions.PrefixAllGlobals.NonPrefixedConstantFound

Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: &quot;EA_JS_DIR&quot;.

WARNING4
WordPress.Security.NonceVerification.Recommended

Processing form data without nonce verification.

WARNING3
WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

Detected usage of a non-sanitized input variable: $_FILES[&#039;file&#039;][&#039;error&#039;]

WARNING2
Generic.PHP.DisallowAlternativePHPTags.MaybeASPShortOpenTagFound

Possible use of ASP style short opening tags detected; found: &lt;%= item.label %&gt; &lt;% if (item.required == &quot;...

ERROR2
WordPress.DB.PreparedSQL.NotPrepared

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

WARNING2
WordPress.DB.PreparedSQLPlaceholders.ReplacementsWrongNumber

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

WARNING2
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: &quot;ea_staff_created&quot;.

ERROR2
WordPress.WP.I18n.NonSingularStringLiteralText

The $text parameter must be a single text string literal. Found: $item->label

WARNING1
WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare

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

WARNING1
WordPress.Security.ValidatedSanitizedInput.InputNotValidated

Detected usage of a possibly undefined superglobal array index: $_FILES[&#039;file&#039;][&#039;error&#039;]. Check that the array index exists before using it.

ERROR1
badly_named_files

File and folder names must not contain spaces or special characters.

ERROR1
library_core_files

Library files that are already in the WordPress core are not permitted.

Latest Snapshot

Findings

704

Errors

135

Warnings

569

Score History

First score snapshot

First scan completed Jun 20, 2026

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

Jun 20, 2026

v3.12.26

26

Latest

Findings
704
Errors
135
Warnings
569
Plugin Check
2.0.0
Model
2026.06-mvp-static-v2

Related Plugins