WP Courses LMS – Online Courses Builder, eLearning Courses, Courses Solution, Education Courses

WP Courses LMS - Create Courses, Lessons, Quizzes, Profiles and more. Online Courses Builder, eLearning Courses, Courses Solution, Education Courses.

v3.2.29hookandhookUpdated Added 500 installs98% rating
23
Score
590
Errors
876
Warnings
+0
Change

Category Scores

Security0
Repo89
Performance100
Maintainability0

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

1,466 findings

Maintainability

636

11 issue groups

Security

628

11 issue groups

I18n

182

3 issue groups

WARNINGMaintainabilityNon-prefixed functionFunctions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "course_toolbar".237
Category
Maintainability
Occurrences
237
Severity
warning

Sample message

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

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

Sample message

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

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

Sample message

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

WARNINGMaintainabilityNon-prefixed global variableGlobal variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$args".110
Category
Maintainability
Occurrences
110
Severity
warning

Sample message

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

WARNINGSecurityInput is not validatedDetected usage of a possibly undefined superglobal array index: $_GET['order']. Check that the array index exists before using it.87
Category
Security
Occurrences
87
Severity
warning

Sample message

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

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

Sample message

Use of a direct database call is discouraged.

ERRORSecurityUnsafe printing functionAll output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.74
Category
Security
Occurrences
74
Severity
error

Sample message

All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.

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

Sample message

Processing form data without nonce verification.

WARNINGSecurityRequest data is not unslashed$_GET['course-category'] not unslashed before sanitization. Use wp_unslash() or similar72
Category
Security
Occurrences
72
Severity
warning

Sample message

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

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().

Show 15 more
ERRORMaintainabilityMissing direct file access protection61
Category
Maintainability
Occurrences
61
Severity
error

Sample message

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

ERRORSecuritySQL query is not prepared53
Category
Security
Occurrences
53
Severity
error

Sample message

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

ERRORSecurityDatabase parameter is not escaped52
Category
Security
Occurrences
52
Severity
error

Sample message

Unescaped parameter $del_sql used in $wpdb->query()\n$del_sql assigned unsafely at line 192.

WARNINGMaintainabilityNon-prefixed hook name33
Category
Maintainability
Occurrences
33
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "wpc-after-course-archive-filters".

ERRORI18nText Domain Mismatch32
Category
I18n
Occurrences
32
Severity
error

Sample message

Mismatched text domain. Expected 'wp-courses' but got 'wp-courses-premium'.

WARNINGSecurityMissing nonce verification31
Category
Security
Occurrences
31
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGSecurityInput is not sanitized27
Category
Security
Occurrences
27
Severity
warning

Sample message

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

ERRORI18nMissing Translators Comment24
Category
I18n
Occurrences
24
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.

WARNINGMaintainabilityMissing Version23
Category
Maintainability
Occurrences
23
Severity
warning

Sample message

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

WARNINGSecurityInterpolated SQL is not prepared12
Category
Security
Occurrences
12
Severity
warning

Sample message

Use placeholders and $wpdb->prepare(); found interpolated variable $course_id at "UPDATE $table_name SET viewed_timestamp = %d WHERE user_id = $user_id AND post_id = $post_id AND course_id = $course_id"

ERRORMaintainabilitywp function not compatible with requires wp11
Category
Maintainability
Occurrences
11
Severity
error

Sample message

Function "_wp_array_get()" requires WordPress 5.6.0, but your plugin minimum supported version is WordPress 5.0.0.

WARNINGMaintainabilityNon-prefixed class6
Category
Maintainability
Occurrences
6
Severity
warning

Sample message

Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "WPC_AJAX_Components".

ERRORMaintainabilitystrip tags strip tags6
Category
Maintainability
Occurrences
6
Severity
error

Sample message

strip_tags() is discouraged. Use the more comprehensive wp_strip_all_tags() instead.

WARNINGSecurityDatabase parameter is not escaped4
Category
Security
Occurrences
4
Severity
warning

Sample message

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

WARNINGMaintainabilityNon-prefixed constant4
Category
Maintainability
Occurrences
4
Severity
warning

Sample message

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

External Connections

Potential connections found in static code analysis.

18 domains

Outbound calls

52

External assets

4

Incoming endpoints

61

Notable Domains

wpcoursesplugin.com18 · outbound
chartjs.org5 · outbound
fontawesome.io2 · outbound
stackoverflow.com2 · outbound
en.wikipedia.org1 · outbound

Platform / Reference Domains

github.com5 · platform/reference
opensource.org2 · platform/reference
w3.org2 · platform/reference
wordpress.org1 · platform/reference

External Asset Domains

cdnjs.cloudflare.com4 · asset + outbound
youtube.com2 · asset + outbound

Incoming Endpoints

wp_ajax_nopriv_wpc_admin_html_lesson_navpublic

wp_ajax

wp_ajax_nopriv_wpc_attachmentspublic

wp_ajax

wp_ajax_nopriv_wpc_certificatepublic

wp_ajax

wp_ajax_nopriv_wpc_coursepublic

wp_ajax

wp_ajax_nopriv_wpc_course_archivepublic

wp_ajax

wp_ajax_nopriv_wpc_course_categoriespublic

wp_ajax

Admin AJAX endpoints42
wp_ajax_wpc_profile_part_paginationauthenticated

wp_ajax

wp_ajax_add_moduleauthenticated

wp_ajax

wp_ajax_add_requirementauthenticated

wp_ajax

wp_ajax_change_courseauthenticated

wp_ajax

wp_ajax_change_requirement_actauthenticated

wp_ajax

wp_ajax_change_requirement_courseauthenticated

wp_ajax

wp_ajax_change_requirement_lessonauthenticated

wp_ajax

wp_ajax_change_requirement_percentauthenticated

wp_ajax

wp_ajax_change_requirement_timesauthenticated

wp_ajax

wp_ajax_change_requirement_typeauthenticated

wp_ajax

wp_ajax_delete_moduleauthenticated

wp_ajax

wp_ajax_delete_requirementauthenticated

wp_ajax

30 more hidden

Score History

First score snapshot

v3.2.29

23

Latest

Findings
1,466
Errors
590
Warnings
876
Check
2.0.0

Relationship Map

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

37 nodes

Related Plugins