LifterLMS Version 3.20.0

  • Updated user interfaces on admin panel for courses and memberships with relation to “Enrolled” and “Non-Enrolled” student descriptions
  • “Enrolled Student Description” is now the default WordPress editor
  • “Non-Enrolled Student Description” is now the “Sales Page”
  • Additional options for sales pages (the content displayed to visitors and non-enrolled students) have been added:
    • Do nothing (show course description)
    • Show custom content (use a WYSIWYG editor to define content)
    • Redirect to a WordPress page (use custom templates and enhance page builder compatibility and capabilities)
    • Redirect to a custom URL (use a sales page hosted on another domain!)
  • Tested to WordPress 4.9.

Monthly Bug Scrub Notes July 2018

Issues Summary

  • June Status: 8 resolved, 8 moved to July
  • Discussed: 19
  • Closed: 0
  • Raised: 1
  • Participants: 2

July 2018 Milestone on GitHub

June 2018 Recap: Resolved Issue & Pull Request Notes

core assets loaded with technically invalid URI

Iss. #598

Bulk Enrollment for Courses & Memberships

Iss. #562

Filter unusable due to use of _e() instead of __()

Iss. #585

quiz completion template counts content questions when displaying the total question count

Iss. #586

Filters on quiz attempt reporting screen removing current quiz during filters

Iss. #587

inefficient calls to get_the_post_thumbnail in various templates

Iss. #322

Self-cancelled subscriptions should unenroll at the end of the prepaid period not immediately

[Iss. 490](Self-cancelled subscriptions should unenroll at the end of the prepaid period not immediately)

June 2018 Recap: Unresolved Issue & Pull Request Notes

Optimize scripts/styles for non LifterLMS pages

Iss. #146

voucher screen on admin panel needs color scheme update

Iss. #239

Free lesson stamp should not be visible when course is available to enrolled student or member who has access

Iss. #253

add current item classes to catalogs

[Iss. #257](

prereq and dependency checks on post trash

Iss. #263

if a course has a free access plan course enrollment restrictions are being ignored

Iss. #266

add WordPress filters to default views & periods on reporting screens

Iss. #323

Order / Transaction Status Notifications

Iss. #328

Issue & Pull Request Notes

notifications show current progress not progress at time of notification

Iss. #349

Heartbeat for Notifications causes too many CPU executions

Iss. #371 & Iss. #588

course information shortcode dates default format should use blog settings options

Iss. #372

inconsistent date formats (should use WP dates)

Iss. #392

semantic admin header structure is incorrect

Iss. #374

extend notification options to include options to send to all post instructors

Iss. #375

####extend 3.13 role functionality to allow instructors / assistants to CRUD engagements
Iss. #376

instructor select box

multi-instructor info not displayed on course/membership loop tiles

Iss. #384

free trials are exploitable by cancelling and resubscribing to the same trial

Iss. #385

Ratings with Review

Iss. #420

Want to Get Involved?

This month we’ve identified 6 issues as good bugs for first-time contributors to tackle. Check them out and leave a note if you want to get started. If you’re not sure how to get started let us know and we’ll help you get moving!

You can join us for the next scrub on July, 7, 2018. Check the Events Calendar for more information.

LifterLMS Version 3.19.4

Updates and enhancements
  • Bulk enroll multiple users into a course or membership from the Users table on your admin panel. See how at
  • Added event on builder to allow integrations to run trigger events when course elements are saved
  • Added general redirect method llms_redirect_and_exit() which is a wrapper for wp_redirect() and wp_safe_redirect() which can be plugged (and tested via phpunit)
  • Added new action called before validation occurs for a user account update form submission: llms_before_user_account_update_submit
  • Removed placeholders from form fields. Fixes a UX issue causing registration forms to appear cluttered due to having both placeholders and labels.
Bug fixes
  • Fixed issue allowing nonce checks to be bypassed on login and registration forms
  • Fixed issue causing a PHP notice if the registration form is submitted without an email address and automatic username generation is enabled
  • Fixed issue preventing email addresses with the “‘” character from being able to register, login, or update account information
  • Fixed typo in automatic username generation filter lifterlms_generated_username (previously was lifterlms_gnerated_username)
  • Fixed issue causing admin panel static assets to have a double slash (//) in the assest URI path
  • FIxed issue allowing users with view_lifterlms_reports capability (Instructors) to access sales & enrollment reporting screens. The view_others_lifterlms_reports capability (Admins & LMS Managers) is now required to view these reporting tabs.
  • Updated IDs of login and registration nonces to be unique. Fixes an issue causing Chrome to throw non-unique ID warnings in the developer console. Also, IDs are supposed to be unique anyway but thanks for helping us out Google.

LifterLMS Assignments Version 1.0.0-beta.4

  • Added RTL language support
  • Fixed an issue preventing task deletion for a task that was added to an unsaved assignment
  • Fixed issue requiring permalinks to be manually flushed after plugin installation
  • Fixed an issue preventing the assignments managements sidebar on the course builder to load when adding an assignment to a course created prior to installing assignments
  • Fixed an issue preventing the course builder from loading when the course was affected by the above issue
  • Fixed an issue preventing assignment templates from being overwritten from themes/child themes

LifterLMS Version 3.19.2

Updates and enhancements
  • The course builder will now load quiz question data when the quiz is opened instead of loading all quizzes on builder page load. Improves builder load times and addresses an issue which could cause timeouts in certain environments when attempting to edit very large courses.
  • The currently viewed lesson will now be bold in the lesson outline widget.
  • Added a CSS class .llms-widget-syllabus .llms-lesson.current-lesson which can be used to customize the display of the current lesson in the widget.
  • Added the ability to filter quiz attempt reports by quiz status
  • Updated language for access plans on with a limited number of payments to reflect the total number of payments due as opposed to the length (for example in years) that the plan will run.
Bug fixes
  • Fixed issue preventing oEmbed media from being used in quiz question descriptions
  • Fixed issue preventing <iframes> from being used in quiz question descriptions
  • Quiz results will now exclude questions with 0 points value when displaying the number of questions in the quiz.
  • Fixed error occurring when sorting was applied to quiz attempt reports which would cause quiz attempts from other quizzes to be included in the new sorted report
  • Fixed filter lifterlms_reviews_section_title which was unuseable due to the incorrect usage of _e() within the filter. Now using __() as expected.
  • Fixed issue causing course featured image to display in place of lesson feature images
Template Updates

LifterLMS ConvertKit Version 2.0.1

  • When adding or changing API keys, test calls will be made to check if the keys are functional. If they are not a warning will be displayed.
  • Fixed issue preventing cached tags and sequences from being cleared by the button on the integration settings
  • Deprecated LLMS_ConvertKit_Api->clear_cache(), use $skip_cache when calling api class methods to bypass cached results. This function should no longer be used by third party integrations, custom plugins, or themes as it will be removed in the next major version.