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 https://lifterlms.com/docs/student-bulk-enrollment/
  • 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.

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