LifterLMS

LifterLMS Version 3.3.1

  • Tested up to WordPress core 4.7.2
  • Added new engagement triggers for Quiz completion, quiz failure, and quiz passed.
  • Refactored Lesson Completion for sanity
  • Added function llms_mark_complete() for simple programmatic completion of courses, sections, lessons, and tracks. See usage docs for more information.
  • Class function LLMS_Lesson::mark_complete() has been staged for deprecation. It will still function but developers should update code to use above function.
  • LifterLMS background updaters will now display a progress report on the admin panel to add some transparency to how the update is doing.
  • Added author support to llms_membership post type
  • Added a way to remove all LifterLMS-generated data during plugin uninstallation.
  • llms_get_post() will now work with any LifterLMS Post Model post types
  • Removed references to LLMS_Activate class which was removed back in 2.0.
  • Changed include method to session related classes for better handling via phpunit
  • Refactored some of the LLMS_Install class for reliability and test coverage
  • Changed order of table and option creation during installation. Prevents a database warning from being thrown during installation.
  • Added function for retrieving default difficulty categories added during installation
  • Added function for removing default categories added during installation
  • llms_are_terms_and_conditions_required() ensure the page id used in this function is an absint
  • Removed redundant function LLMS_Lesson::single_mark_complete_text()
  • Add css classes for buttons to be auto-width rather than the width of their containers
  • Fix ID of engagement email class. Allows some filters and actions to actually be used.
  • Properly display quiz failures as failures on the quiz results screen
  • loop/feature-image.php now works for unsupported PHP 5.5 and down
  • Fix issue with modifying section titles from within the course builder
  • Fix undefined warning resulting from admin notice “flash” being undefined on pre-existing saved notices
  • Updated template at templates/course/complete-lesson-link.php to include a few new CSS classes and utilize llms_form_field() to standardize buttons

LifterLMS Version 3.3.0

  • New course option allows displaying the video embed in place of the featured image on course tiles displayed on the course catalog screen
  • Courses can now be exported individually or in bulk. Export of a course includes all course content, sections, lessons, and quizzes.
  • Courses can now be duplicated. Duplication duplicates all course content, sections, lessons, and quizzes.
  • Upon completion of the Setup Wizard a sample course can be automatically installed.
  • Postmeta keys for Lessons and Sections which denote their relationship to their parents have been renamed for consistency, database upgrade 330 included in this release will rename the keys automatically. Read more here
  • Update to LLMS_Post_Model to allow easier programmatic definition and handling of extending class properties
  • classes extending LLMS_Post_Model can now be serialized to json and converted to arrays programmatically
  • new function llms_get_post() allows easier instantiation of an LLMS_Post_Model instance
  • Added LifterLMS Database Version to the system report

LifterLMS Version 3.2.5

  • New shortcode: [lifterlms_pricing_table] allows pricing table display outside of a course or membership. See https://lifterlms.com/docs/shortcodes/#lifterlmspricingtable for usage information.
  • New shortcode: [lifterlms_access_plan_button] allows custom buttons for individual access plans to be created outside of a pricing table. See https://lifterlms.com/docs/shortcodes/#lifterlmsaccessplan_button for usage information.
  • ensure every return from llms_page_restricted is filtered. Thanks to @matthalliday
  • Ensure purchase page can only load for valid access plans
  • Course / Membership taxonomy archives now obey orders defined by their respective catalog settings
  • Fix language of automatic validation error message for numeric field types
  • Fix translation function error causing course syllabus to display incorrect “x of x” text
  • Added correct text domain to an i18n string displayed on the checkout confirmation screen, thanks @ymashev
  • Ensure search result pages are viewable by members and non members regardless of result membership restrictions (unless site is restricted to sitewide membership)

LifterLMS Version 3.2.4

  • Fixed tooltips on lesson preview tiles (in course syllabus and on next/prev tiles inside lessons) to show the actual reason the lesson is inaccessible rather than always showing a generic enrollment message
  • Removed the language “You must enroll in this course to unlock this lesson” in favor of “You do not have permission to access to this content” as a restriction message fallback when no better message is available
  • “Quiz Results” title is now translatable
  • Removed deprecated JS file “llms-metabox-data.js” which controlled UI/X for 2.x subscription data on courses and memberships
  • Non LMS Content (pages, posts, forums, etc…) restricted to multiple memberships will now correctly allow users access to the content as long as they have access to at least one of the memberships
  • Fixed a redirect loop encountered if direct access to a lesson with an incomplete prerequisite was attempted

LifterLMS Version 3.2.3

  • Progress and Grade are now sortable columns on the student reporting table
  • Make enrollment statuses translatable for courses and memberships on the Student Dashboard
  • “Sign Out” text on student dashboard is now translatable, thanks @yumashev
  • Fixed prerequisite lesson display on lesson post tables
  • Ensure post archive (blog) is visible regardless of post membership restrictions
  • Moved lesson post table management functions to their own class
  • Unused section post table management functions removed

LifterLMS Version 3.2.2

  • Adds filter llms_student_dashboard_login_redirect allowing customization of the redirect upon login via the Student Dashboard
  • Adds a shortcode parameter, login_redirect to [lifterlms_my_account] allowing customization of the redirect upon login via the Student Dashboard
  • Adds a new tool under “Tools and Utilities” on the LifterLMS Settings screen which allows users to clear the cached student overall progress and overall grade data
  • Fixes a compatibility issue with the OptimizePress live editor
  • Adds a text domain to a translation function where none was present, rendering the string untranslatable

LifterLMS Version 3.2.0

LifterLMS Reporting Beta
  • Students overview displays broad information about your students in a searchable and sortable table
  • Review data about individual students including:
  • Membership enrollments and statuses
  • Course enrollments, status, and progress
  • Quiz attempts and and their submitted answers
  • Earned achievements and certificates
  • Sales and Enrollments analytics are now found under the “Reporting” screen
  • Feedback on the beta? Let us know at https://lifterlms.com/docs/lifterlms-reporting-beta/
Other Updates & Fixes
  • Lesson completion checks now look for at least one record of the completed lesson as opposed to looking for exactly one
  • Fix positioning of teacher avatar on course/membership tiles
  • Remove explicit color definition from Student Dashboard navigation links for greater theme compatibility