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 Version 3.19.0

Updates and enhancements
  • Added a “My Memberships” tab to the student dashboard
  • “My Memberships” preview area
  • Updated admin panel order status badges to match frontend order status badges
  • Added a new recurring order status “Pending Cancel.” Orders in this state will allow students to access course / membership content until the next payment is due, on this date, instead of a recurring charge being made the order will move to “Cancelled” and the student’s enrollment status will change to “Cancelled” removing their access to the course or membership.
  • When a student cancels an active recurring order from the student dashboard, the order will move to “Pending Cancellation” instead of “Cancelled”
  • Students can re-activate an order that’s Pending Cancellation moving the expiration date to the next payment due date
  • Added the ability to edit the access expiration date for orders with limited access settings and for orders in the “pending-cancel” state
  • Added a filter to allow customization of the URL used to generate certificate downloads from
  • When viewing taxonomy archives for any course or memberhip taxonomy (categories, tags, and tracks), if a term description exists, it will be used instead of the default catalog description content defined on the catalog page.
  • Added a filter (llms_archive_description) to allow filtering of the archive description
  • When WP_DEBUG is disabled the scheduled-actions posttype interface is now available via direct link. Useful for debugging but don’t want to expose a menu-item link to clients. Access via wp-admin/edit.php?post_type=scheduled-action. Be warned: you shouldn’t be modifying scheduled actions manually and that’s why we’re not exposing this directly, this should be used for debugging only!
  • Updated the function used to check if lessons have featured images to improve performance and resolve an incompatibility issue with WP Overlays plugin.
Bug fixes
  • Fixed issue causing “My Courses” title to be duplicated on the student dashboard when viewing the endpoint
  • Fixed issue causing the trial price to be displayed with a strike-through during a sale
  • Fixed coupon issue causing coupons to expire at the beginning of the day on the expiration date instead of at the end of the day
  • Fixed issue causing CSS rules to lose their declared order during exports causing export rendering issues with certain themes and plugin combinations
Template Updates

LifterLMS Version 3.18.2

  • Improved integrations settings screen to allow each integration to have it’s own settings tab (page) with only its own settings
  • Allow programmatic access to notification content when notification views are accessed via filters
  • Fixed issue causind subscription cancellation notifications to be sent to admins when new orders were created
  • Fixed warning message displayed prior to membership bulk enrollment
  • Fixed multibyte character encoding issue encountered during certificate exports

LifterLMS Version 3.18.0

Privacy & GDPR Compliance Tools
  • Added privacy policy notice on checkout, enrollment, and registration that integrates with the WP Core 4.9.6 Privacy Policy Page setting
  • Added settings to allow customization of the privacy policy and terms & conditions notices during checkout, enrollment, and registration
  • Added suggested Privacy Policy language outlining information gathered by a default LifterLMS site

  • During a WordPress Personal Data Export request the following LifterLMS information will be added to the export

  • All personal information gathered from registration, checkout, and enrollment forms

  • Course and membership enrollments, progress, and grades
  • Earned achievements and certificates
  • All order data

  • During a WordPress Personal Data Erasure request the following LifterLMS information will be erased

  • All personal information gathered from registration, checkout, and enrollment forms

  • Earned achievements and certificates
  • All notifications for or about the user
  • If the “Remove Order Data” setting is enabled, the order will be anonymized by removing student personal information from the order and, if the order is a recurring order, it will be cancelled.
  • If the “Remove Student LMS Data” setting is enabled, all student data related to course and membership activity will be removed

  • All of the above relies on features available in WordPress core 4.9.6

Updates and Enhancements
  • Tested up to WordPress 4.9.6
  • Improved pricing table UX for members-only access plans. An access plan button for a plan belonging to only one membership will click directly to the membership as opposed to opening a popover. Plan’s with access via multiple memberships will continue to open a popover listing all availability options.
  • Added a “My Certificates” tab to the Student Dashboard
  • Certificates can be downloaded as HTML files (available when viewing a certificate or from the certificate reporting screen on the admin panel)
  • Admins can now delete certificates and achievements from reporting screens on the admin panel
  • Added additional information to certificate and achievement reporting tables
  • Expanded widths of admin settings page setting names to be a bit wider and more readable
  • Now conditionally hiding some settings when they are no longer relevant
  • Added daily cron automatically remove files from the LLMS_TMP_DIR which are more that 24 hours old
  • Removed unused template content-llms_membership.php
  • Added initialization actions for use by integration classes
Bug Fixes
  • Fixed issue causing coupon reports to always display “1” regardless of actual number of coupons used
  • Fixid issue causing new posts created via the Course Builder to always be created for user_id #1
  • Fixed issue causing “My Achievements” to display twice on the My Achievements student dashboard tab
  • Fixed issue preventing lessons from being completed when a quiz in draft mode was attached to the lesson
  • Fixed issue causing minified RTL stylesheets to 404
Template Updates

Monthly Bug Scrub Notes May 2018

Issues Summary

  • Discussed: 13
  • Closed: 2
  • Raised: 2
  • Participants: 2

May 2018 Milestone on GitHub

Issue & Pull Request Notes

JS & CSS Assets, Dependencies, & Performance

Iss. #146 & Iss. #520 (& Related PR #484)

  • JS (and CSS) dependencies must be defined and improved
  • Scripts should not load on non LifterLMS Pages except when a LifterLMS shortcode or widget exists
  • JS errors resulting from improperly defined JS dependencies
  • Assigned to Thomas to review & merge #484
  • Assigned to Saurabh for implementation
  • Assigned to May 2018 Milestone

BuddyPress Enhancements

Iss. #164

  • Feature enhancements clarified
  • Moved to Future Milestone
  • Unassigned

Metaboxes Cleanup and Gutenberg Prep

Iss. #191 & Iss. #244

  • Finalize cleanup from LifterLMS 2.x to 3.x metabox transitions
  • Identify updates required for Gutenberg forward compatibility
  • #244 closed as duplicate of #191
  • Assigned to Saurabh (who will recruit additional contributors for Gutenberg research)

Conflict with Contact Form 7

Iss. #223

  • Reported in 2016 & never reproduced
  • Closed as wont fix

Checkout Fields UI for Logged when Checkout Fields Disabled

Iss. #235

  • Billing Info area on checkout / enrollment is blank for logged in users when all registration fields are disabled
  • Unassigned & help wanted

Vouchers Admin Screen UI Update

Iss. #239

  • CSS / SCSS color scheme updates required
  • Unassigned & help wanted

Free Lesson Stamp UI Issues

Iss. #253

  • “FREE” stamp on lesson syllabus doesn’t make sense to display to users who already have access to the course content
  • Clarified issue language & added potential solutions
  • Unassigned & help wanted

Add Current Item classes to WP Nav menus for catalogs

Iss. #257

  • May not still be an issue (needs some better reproduction steps)
  • Ensure themes can control the current menu item highlight on nav menus when viewing course / membership catalogs
  • Unassigned & help wanted

Prerequisite Checks on Post Trash

Iss. #263

  • Clarified language
  • Added additional conditions to check
  • Discussed possible strategies and solutions
  • Unassigned

(NEW) Course Level Drip & Prereq Settings

Iss. #521

  • Raised as a possible helper solution to #263
  • Unassigned and added to future milestone

(New) Course “Elements”

Iss. #522

  • Notes on ongoing refactoring / functionality expansion discussion to increase the flexibility of courses
  • Unassigned and added to future milestone


  • Created additional labels to be added to issues to help identify the languages required to resolve the issue: PHP, Javascript, CSS/SCSS
  • Join us for our next scrub on Tuesday, June 5, 2018, 9am – 10am PST



LifterLMS Version 3.17.7

  • Fix issue preventing assignments passing grade requirement from saving properly
  • Fix issue preventing builder toggle switches from properly saving some switch field data
  • Fix with “Launch Builder” button causing it to extend outside the bounds of its container
  • Fix issue with builder radio select fields during view rerenders
  • Course Outline shortcode (and widget) now retrieve parent course of the current page more consistently with other shortcodes
  • Added ability to filter which custom post types which can be children of a course (allows course shortcodes & widgets to be used in assignment sidebars of custom content areas)

LifterLMS Version 3.17.6

  • Updated language on recurring orders with no expiration settings. Orders no longer say “Lifetime Access” and instead output no expiration information
  • Quiz editor on builder updated to be consistent visually and functionally to the lesson settings editor
  • Improved the builder field API to allow for radio element fields
  • Fix issue causing JS error on admin settings pages
  • Updated CSS for Certificates to be more generally compatible with theme styles when printed
  • Allow system print settings to control print layout for certificates by removing explicit landscape declarations
  • Now passing additional data to filters used to create custom columns on reporting screens
  • Remove unused JS files & Chosen JS library
  • Added filter to allow opting into alternate student dashboard order layout. Use add_filter( 'llms_sd_stacked_order_layout', '__return_true' ) to stack the payment update sidebar below the main order information. This is disabled by default.
  • Achievement and Certificate basic notifications now auto-dismiss after 10 seconds like all other basic notifications
  • Deprecated Filter llms_get_quiz_theme_settings and added backwards compatible methods to transition themes using this filter to the new custom field api. For more information see new methods at
  • Increased default z-index on notifications to prevent notifications from being hidden behind floating / static navigation menus
Template Updates