BuddyPress for LearnDash

BuddyPress for LearnDash integrates the LearnDash LMS plugin with BuddyPress, so you can add groups, activity, members, and forums to your courses.

v1.3.0Syed BalkhiUpdated Added 1k+ installs66% rating
32
Score
190
Errors
284
Warnings
+0
Change

Category Scores

Security0
Repo86
Performance97
Maintainability49

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

474 findings

Security

259

12 issue groups

Maintainability

149

10 issue groups

I18n

55

2 issue groups

Performance

2

1 issue group

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

Sample message

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

ERRORI18nMissing Translators CommentA 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.53
Category
I18n
Occurrences
53
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.

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

Sample message

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

WARNINGSecurityMissing nonce verificationProcessing form data without nonce verification.49
Category
Security
Occurrences
49
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGMaintainabilityNon-prefixed hook nameHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "bp_core_template_plugin".38
Category
Maintainability
Occurrences
38
Severity
warning

Sample message

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

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

Sample message

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

WARNINGSecurityInput is not sanitizedDetected usage of a non-sanitized input variable: $_GET['post']35
Category
Security
Occurrences
35
Severity
warning

Sample message

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

WARNINGSecurityRequest data is not unslashed$_GET['post'] not unslashed before sanitization. Use wp_unslash() or similar34
Category
Security
Occurrences
34
Severity
warning

Sample message

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

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

Sample message

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

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

Sample message

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

Show 15 more
WARNINGMaintainabilityDirect Query6
Category
Maintainability
Occurrences
6
Severity
warning

Sample message

Use of a direct database call is discouraged.

WARNINGMaintainabilityNo Caching6
Category
Maintainability
Occurrences
6
Severity
warning

Sample message

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

ERRORSecurityDatabase parameter is not escaped5
Category
Security
Occurrences
5
Severity
error

Sample message

Unescaped parameter $group->name used in $wpdb->query()\n$group->name used without escaping.

WARNINGSecurityNonce verification recommended5
Category
Security
Occurrences
5
Severity
warning

Sample message

Processing form data without nonce verification.

ERRORSecuritySQL query is not prepared4
Category
Security
Occurrences
4
Severity
error

Sample message

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

WARNINGMaintainabilityNon-prefixed class3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

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

WARNINGMaintainabilitytrademarked term3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

The plugin name includes a restricted term. Your chosen plugin name - "BuddyPress for LearnDash" - contains the restricted term "buddypress" and cannot be used to begin your plugin name. We disallow the use of certain terms in ways that are abused, or potentially infringe on and/or are misleading with regards to trademarks. You may use the term "buddypress" elsewhere in your plugin name, such as "... for buddypress".

WARNINGSecurityInterpolated SQL is not prepared2
Category
Security
Occurrences
2
Severity
warning

Sample message

Use placeholders and $wpdb->prepare(); found interpolated variable {$forum_id} at "UPDATE {$wpdb->posts} SET post_title = '{$group->name}' WHERE id = {$forum_id}"

WARNINGSecuritywp redirect wp redirect2
Category
Security
Occurrences
2
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.

ERRORMaintainabilityDiscouraged WordPress constant usage: STYLESHEETPATH2
Category
Maintainability
Occurrences
2
Severity
error

Sample message

Found usage of constant "STYLESHEETPATH". Use get_stylesheet_directory() instead.

ERRORMaintainabilityDiscouraged WordPress constant usage: TEMPLATEPATH2
Category
Maintainability
Occurrences
2
Severity
error

Sample message

Found usage of constant "TEMPLATEPATH". Use get_template_directory() instead.

ERRORI18nUnordered Placeholders Text2
Category
I18n
Occurrences
2
Severity
error

Sample message

Multiple placeholders in translatable strings should be ordered. Expected "%1$s, %2$s", but got "%s, %s" in '%s out of %s steps completed'.

WARNINGPerformancePost Not In exclude2
Category
Performance
Occurrences
2
Severity
warning

Sample message

Using exclusionary parameters, like exclude, in calls to get_posts() should be done with caution, see https://wpvip.com/documentation/performance-improvements-by-removing-usage-of-post__not_in/ for more information.

ERRORMaintainabilitybadly named files2
Category
Maintainability
Occurrences
2
Severity
error

Sample message

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

ERRORSecuritySetting is missing a sanitization callback1
Category
Security
Occurrences
1
Severity
error

Sample message

Sanitization missing for register_setting().

External Connections

Not analyzed yet.

Score History

First score snapshot

v1.3.0

32

Latest

Findings
474
Errors
190
Warnings
284
Check
2.0.0

Relationship Map

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

29 nodes

Related Plugins

Design Upgrade for LearnDash

7k+ active installs

97
PowerPack for LearnDash

1k+ active installs

97
73
LearnPress – Course Wishlist

20k+ active installs

56
LifterLMS Labs

2k+ active installs

55