Tutor LMS – eLearning and online course solution

A complete WordPress LMS plugin to create any eLearning website easily.

v3.9.13ThemeumUpdated Added 100k+ installs88% rating96% support resolved
23
Score
395
Errors
3,402
Warnings
+0
Change

Category Scores

Security0
Repo94
Performance91
Maintainability0

Top Issues by Category

maintainability3,441
security302

Issues Details

3,797 issues found in latest scan

WARNING2,327
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound

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

WARNING329
WordPress.DB.DirectDatabaseQuery.DirectQuery

Use of a direct database call is discouraged.

WARNING312
WordPress.DB.DirectDatabaseQuery.NoCaching

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

ERROR261
missing_direct_file_access_protection

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

WARNING121
WordPress.DB.PreparedSQL.InterpolatedNotPrepared

Use placeholders and $wpdb->prepare(); found interpolated variable $course_ids at \t\t\tWHERE topic.post_parent IN ($course_ids)"

WARNING51
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound

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

ERROR43
PluginCheck.Security.DirectDB.UnescapedDBParameter

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

WARNING42
PluginCheck.Security.DirectDB.UnescapedDBParameter

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

WARNING34
WordPress.DB.SlowDBQuery.slow_db_query_meta_key

Detected usage of meta_key, possible slow query.

WARNING34
WordPress.Security.NonceVerification.Recommended

Processing form data without nonce verification.

WARNING29
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound

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

WARNING23
WordPress.DB.SlowDBQuery.slow_db_query_meta_value

Detected usage of meta_value, possible slow query.

ERROR22
WordPress.Security.EscapeOutput.ExceptionNotEscaped

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"Cannot resolve: {$abstract}"'.

ERROR17
WordPress.DateTime.RestrictedFunctions.date_date

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

ERROR15
WordPress.DB.PreparedSQL.NotPrepared

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

WARNING14
WordPress.PHP.DevelopmentFunctions.error_log_error_log

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

ERROR13
WordPress.Security.EscapeOutput.OutputNotEscaped

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

WARNING9
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedConstantFound

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

WARNING8
WordPress.DB.SlowDBQuery.slow_db_query_tax_query

Detected usage of tax_query, possible slow query.

WARNING8
WordPress.WP.EnqueuedResourceParameters.MissingVersion

Resource version not set in call to wp_enqueue_style(). This means new versions of the style may not always be loaded due to browser caching.

WARNING7
WordPress.NamingConventions.PrefixAllGlobals.DynamicHooknameFound

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "$blocks['action']".

ERROR7
wp_function_not_compatible_with_requires_wp

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

WARNING6
WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare

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

WARNING6
WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

Detected usage of a non-sanitized input variable: $_FILES['data']

WARNING5
WordPress.WP.DiscouragedFunctions.wp_reset_query_wp_reset_query

wp_reset_query() is discouraged. Use wp_reset_postdata() instead.

Latest Snapshot

Findings

3,797

Errors

395

Warnings

3,402

Score History

First score snapshot

First scan completed

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

v3.9.13

23

Latest

Findings
3,797
Errors
395
Warnings
3,402
Plugin Check
2.0.0
Model
2026.06-mvp-static-v2

Related Plugins