Description
LifterLMS is a secure WordPress LMS plugin packed with features to easily create & sell courses online.
Transform your WordPress website into a professional eLearning platform with every feature you could possibly need from your LMS.
- Intuitive LMS Course Builder: Create Courses, Sections, Interactive Lessons with Rich Content Including Multimedia and Videos
- Track Student Progress: In-Depth Reporting, Create Timed or Open Quizzes, Drip Content, Add Prerequisites, Analyze Progress, and Award Certificates
- Complete Ecommerce Platform: Built-in Gateway Integration for Stripe and PayPal With Memberships and Subscriptions Including Single or Group Enrollment
- Community and Social Learning: Integrate a Community Forum or Discussion Area, Add Multiple Instructors, and Display Course Reviews for Social Proof
LifterLMS makes it easy to create, sell, and protect engaging online courses and training based membership websites.
Integrate Your LMS With Any Theme, Page Builder, & Block Editor
LifterLMS works with any well-coded WordPress theme/FSE, the Block Editor (Gutenberg), and every popular WordPress page builder including Elementor, Beaver Builder, and Divi.
Choosing a theme? Check out Sky Pilot, a Block Theme (FSE) built from first principles with 100% focus on meeting the needs of online courses and training-based membership sites built on WordPress.
With over 9 years development, our team is deeply engaged with the WordPress community. We actively encourage our integration partners to create the extensions you need most, like Affiliate WP, Monster Insights, WP Fusion, the most popular form plugins, GamiPress, Astra Pro, and many more.
Don’t see an integration you need? Connect your LifterLMS website to 5,000+ other apps via Zapier.
Open Source, Completely Free Core Plugin
Just like WordPress, LifterLMS gives back to the open source community. The core LifterLMS plugin is a totally FREE forever LMS – no limits on your courses, memberships, enrollments, or earnings.
We believe in free, distributed learning for all. LifterLMS exists to democratize education in the digital classroom.
Premium LMS Add-ons and Bundles
Get to know our team and product by signing up for a $1 temporary 30 Day website. You’ll get instant access to a private demo site hosted on our servers pre-installed with:
- the core LifterLMS plugin, AND
- every premium LMS add-on we offer
See why so many people start with or switch from another WordPress LMS or hosted platform to LifterLMS for online course creation, membership sites, and remote schools.
This LMS demo site allows you to test drive the core plugin and all premium add-ons before you invest.
- You can practice creating an online course with LifterLMS’s industry leading course builder.
- Or simply take a course yourself on your demo site to test the course experience out for yourself.
- You can even add your other favorite plugins & themes to your demo site so you can see them in action together with the LMS.
Are you ready to Try LifterLMS for $1? 🚀
LifterLMS is a Perfect Fit For Every WordPress User
Best for Builders
We’re the favorite LMS plugin for WordPress developers, designers and IT pros who build LMS websites and training portals for clients, employers and themselves
Best for Starters
Do-it-yourself innovators love that LifterLMS helps them create high value online courses, coaching or training based membership websites, right on WordPress.
Best for Switchers
Have you outgrown a hosted LMS platform or an incomplete WordPress LMS stack? Choose LifterLMS if you are looking for more power, control and better support.
Meet The LifterLMS Team
The LifterLMS team is a diverse group of talented course creators, developers, designers, marketers and entrepreneurs.
Before developing LifterLMS, we consulted and built custom WordPress-based online learning and membership sites for clients all over the world. LifterLMS was born through this deep hands-on experience building high-end, custom WordPress LMS websites for the expert industry.
Learn more about the people behind LifterLMS here.
LifterLMS WordPress LMS By The Numbers
- 4,348,041 Course Enrollments powered by LifterLMS
- 6,570,731 Course and lesson completions powered by LifterLMS
- 86,807 Achievement badges awarded by LifterLMS
- 120,728 Certificates awarded by LifterLMS
- Over 10,000 active installs of the WordPress LMS plugin
- 267 5 star reviews
LifterLMS Features
Start with our core free WordPress LMS plugin and scale-up as your business grows.
Make Money Building an Education-Based Business
Just set up LifterLMS, activate built-in payments with Stripe or PayPal. That’s all you need to get started on your LMS website journey.
When you need more features and want to expand your online learning business, we are here for you. We have several free and premium add-ons to help you create more value for your students and members, with a focus on scaling your business revenue.
- Credit card payments
- One-time payments
- Recurring payments
- Payment plans
- Unlimited course and membership pricing models
- PayPal
- Subscriptions
- Checkout
- Free courses
- Course bundles
- Private coaching upsells
- Course and membership Coupons
- Bulk course and membership sales
- Affiliate ready
- Native course and membership sales pages
- Offline course and membership sales
- Customizable course and membership enrollment
- Country and currency
- E-commerce dashboard
- Credit card management
- Subscription switching
- Payment switching
- Native Zapier integration
Create Courses on Your WordPress LMS Website
- Course multimedia lessons
- Course quizzes
- Course builder
- Drip Content
- Course and lesson prerequisites
- Course tracks
- Course assignments
- Quiz time limits
- Student dashboard
- Multi-instructor courses
- Lesson downloads
- Course import & export
- Discussion areas
- Instructional design
- Forum integrations
- Graphics pack
- Course reviews
- Group enrollments for courses and memberships
Engage Your Students
- Achievement badges
- Certificates
- Personalized email
- Social learning
- Private coaching
- Text messaging
Offer Memberships
- Sitewide membership
- Course bundles
- Traditional memberships
- Automatic course enrollment
- Bulk course enrollment
- Content restrictions outside of a course
- Members-only payment plans
- Private group discussions
- Members-only forums
Integrate your WordPress LMS with the Tools You Need
- Payment gateways
- Email marketing
- Forums
- Mobile friendly
- Use any theme or page builder
- Built for compatibility
- CRMs
- E-learning authoring tools
- Tin Can API (xAPI)
Secure and Protect Your Content
- Course protection
- User account management and registration
- Members only content
- Course only content
- Restricted access
- Password management
- Self-hosted
Own and Manage Your WordPress LMS Platform
- Detailed course, membership, ecommerce, and student reporting
- Course gradebook
- Email notifications
- Bulk course and membership enrollments
- Student management
- Course and membership access management
- Web design management
- Branding & typography
- WordPress LMS User Roles
- Security
- Require terms
- Scalable
- Layout
- Testing tools
Get Support For Your WordPress LMS Project
- Technical support
- 30 Days of live weekly onboarding calls called Liftoff Sessions
- Live office hours
- Free training courses
- Free training webinars
- Setup wizard
- Detailed documentation
- Dynamic resources
- Demo course
- System analyzer
- User community
- REST API
- Developer ecosystem
- Recommended Resources for course creators
More Info About LifterLMS
- The LifterLMS Official Homepage
- The LifterLMS Knowledge base
- The LifterLMS Blog
- The LifterLMS Podcast
- The LifterLMS Academy
- The LifterLMS Developer Blog
Deliver Beautiful eLearning Experiences with Sky Pilot
Brought to you by the team at LifterLMS, Sky Pilot is the only modern full site editing (FSE) theme in existence. The theme is built from first principles with 100% focus on meeting the needs of online courses and training-based membership sites built on WordPress.
Most themes are built to be desirable by as many people as possible without focusing on a singular niche. Sky Pilot is the opposite.
Sky Pilot is built for course creators by course creators.
Extend and Enhance Your LMS With LifterLMS Add-Ons
Advanced
Increase your LMS website and it’s training program’s value with these engagement add-ons:
- LifterLMS Advanced Quizzes
- LifterLMS Assignments
- LifterLMS Private Areas
- LifterLMS Social Learning
- LifterLMS Advanced Video
- LifterLMS Custom Fields
- LifterLMS Groups
- LifterLMS PDFs
Integrations
Integrate your LMS with the third-party tools you know and love:
- LifterLMS Stripe
- LifterLMS PayPal
- LifterLMS Authorize.Net
- LifterLMS WooCommerce
- LifterLMS ConvertKit
- LifterLMS MailChimp
LMS Website and User Experience Design Tools
Make your online course creations and WordPress LMS platform beautiful
How To Get Support
Our world-class LMS software support has your back and all of our paid products include priority private support with the LifterLMS support team.
- LifterLMS Support Ticket System, ready for any question you have about your LMS
- Liftoff Sessions access with live screensharing to help you get started with the LMS software
- LifterLMS Office Hours is weekly Mastermind group hosted by LifterLMS CEO Chris Badgett and special guests
Save on LifterLMS With A Bundle
Save money while unlocking the full potential of your course building and LMS platform.
- The Earth Bundle gives you all the essentials you need to get your online learning website up and running so it’s collecting money today with the most powerful secure learning management system software.
- Level up your online course LMS website with our ecommerce, design, marketing technology, and automation tools with the Universe Bundle.
- Add even more engagement and student transformation potential to your immersive training programs with our entire suite of products including advanced features used by the best teachers, experts, and coaches with the Infinity Bundle.
Give The Best WordPress LMS Plugin A Try
The best way to know if LifterLMS meets your needs is to take it for a test drive – something you can’t do with a totally premium LMS!
- Go install the free core LifterLMS plugin right now. See how extensive and customizable our free core plugin truly is.
- Get a temporary 30 Day website on our servers with the core LifterLMS plugin AND all the premium add-ons installed. This demo website allows you to test drive all the LMS add-ons before you invest. Practice creating an online course, test out the learner experience yourself, and see how easy it will be to manage your course in the WordPress admin. Install your favorite plugins & themes to test compatibility. Try LifterLMS for $1 now.
- Another way to test LifterLMS out is to see what the student experience is like. Take a free course on how to build a LifterLMS website in 20 minutes. Take a Free Course now.
Scaling LifterLMS From A Simple Online Course
LifterLMS is incredibly flexible, customizable and scalable. It can be used for a simple one course website, and it can also be used as a course marketplace or multi instructor online school.
The plugin is lightweight enough to handle niche sites with low course enrollments, while also powering huge universities and employee training in Fortune 500 corporations. We’ve even worked with a site that has over 730,000 course enrollments.
Unlike hosted LMS software where you would pay increasing monthly fees for access and growth, LifterLMS does not charge you more per course. LifterLMS also does not charge you more per instructor or per student or based on your revenue.
Whether you are going big or keeping it small, LifterLMS scales to meet your needs for online courses, memberships, training portals, or remote schools.
LifterLMS in Action
- Success Stories — Discover these amazing stories and accomplishments from our community of course creators.
- Showcase — Check out these websites using LifterLMS
What Others Are Saying About LifterLMS
“I’ve used a number of course creation and delivery platforms over the years. And they were all fine… right up to the day when they weren’t. The trouble is, they all want you to package and manage your course the way THEY think you should do it. THEIR feature set. THEIR way to do it. Now I host all my courses on LifterLMS. TOTALLY different experience, because I’m free to do things MY way. I’ve never yet hit a wall where LifterLMS didn’t enable me to do things the way I wanted. Love it! Great support and community too.”
Nick Usborne, Teacher, Entrepreneur
“WP101.com serves more than 30,000 members, so it’s no small challenge to migrate to a new membership plugin. We spent more than a year carefully evaluating dozens of LMS and membership plugins before we finally discovered LifterLMS (a membership plugin and LMS plugin combined into one). It was the only plugin that checked all the boxes for our needs for course creation and membership functionality. And the LifterLMS team also shares our passion for creating better online learning experiences. In particular, we deeply resonate with their goal of restoring the human touch to online learning—something that is absent from most online courses today.”
Shawn Hesketh, Owner, WP101
“As a former School Teacher, professional User Experience Designer, and current online course creator – I can honestly attribute much of our success to LifterLMS and it’s consideration for multiple learning modalities, the LMS UI/UX out of the box, and natural student Engagement opportunities. In less than 10 months we’ve gone from $0 to $300K in revenue with LifterLMS playing a huge part in that!! I’m looking forward to everything that comes next from the creators of LifterLMS!!”
Sarah Lorenzen, Teacher, Entrepreneur
“LifterLMS has been the best decision we have made towards the build out of our course library, online Learning Management System site, and community. The breadth and depth of what LifterLMS offers in a few WordPress plugins exceeds anything else we evaluated as it includes: easy course construction, integrated eCommerce, community capabilities, gamification and the support for delivery of 1-on-1 coaching collaboration services. Lifter also has pre-built integrations with other key WordPress technologies we wanted to use. LifterLMS has attracted a solid community and support network of leading experts to help guide anyone who wants to transform the world or their industry with online training. Chris and the Lifter team are real people, and they care.”
Michael Wolf, CEO, emPowering NOW LLC (Golden XPR)
“I bought/installed LifterLMS yesterday then spent the day having a blast! Two years ago I started writing a book, which morphed into wanting to present the material online in a more interactive way. I started my website from scratch in January and installing the WordPress LMS plugin was a milestone moment! A milestone moment that turned out to be one joy right after the other! I’m always amazed when something is made easy! The LifterLMS product is amazing!! Power to the people! Really quite extraordinary to have something so helpful be able to be in the hands of regular folk.”
Margot Worthy, Author, Teacher
Join Our Growing Community of Education Entrepreneurs
When you download LifterLMS, you join a thriving community of education entrepreneurs, course creators, developers, LMS professionals, and WordPress enthusiasts.
We’re one of the fastest growing open source eLearning communities online, and everyone that is seeking to build a sustainable online course business is welcome.
Join the LifterLMS VIP Facebook group so you can:
- check out what other LifterLMS users and course creators are up to, and
- ask questions and support fellow course creators
We also have an engaged LifterLMS Slack community with live developer office hours if you’d prefer to connect in Slack.
Contribute to LifterLMS
Are you a developer interested in contributing to LifterLMS? Visit the LifterLMS GitHub Repository to find out how to support this fully open source WordPress LMS software.
Want to add a new language to LifterLMS? Swell! You can contribute language translations to the LMS at translate.wordpress.org.
The mission of LifterLMS is to democratize education in the digital classroom. Our vision is to lift up others through education. LifterLMS helps you ACCELERATE.
What Should You Do Next?
Install the free LifterLMS plugin on your website, then …
Try out all the premium add-ons for $1 by signing up >>HERE<<
🚀
Screenshots
Infinitely customizable course catalog layouts: shown with course title, featured image, and instructor information. View a single course with customizable content including access plans, enrollment, difficulty, instructor, student course progress, and lesson syllabus. View a single lesson with customizable content including student course progress, videos, images, slideshow, PDFs, and lesson syllabus. Offer quizzes with many question types. Enable students to retake quizzes, get instant grading, and offer contextual feedback. The powerful student dashboard serves as the primary place for learners to access their courses, memberships, orders, achievements, and more. The notifications section of the frontend dashboard shows students a recap of activity, achievements, course progress, and more. Celebrate student progress with custom achievements that can be automatically or manually awarded based on eLearning site interactions. Edit courses in the WordPress block editor to add pricing tables, progress, outline, and more content. Use the interactive Course Builder to structure your course, sections, lessons, quizzes, assignments and more. Dashboard for course creators in the WordPress admin: an overview of recent statistics and quick links to common admin screens. Advanced reporting for every learner so admins can track an individual students's course progress, membership, engagements, and achievements. Clean and organized plugin settings to help you quickly and easily set up your course or membership site. Detailed sales and enrollment reporting with built-in time periods or custom fields to filter by term, student, course, and membership. Setup Wizard to help you install and configure your new online course website with LifterLMS in 5 simple steps.
Blocks
This plugin provides 1 block.
- Certificate Title Displays the title of a certificate.
Installation
Minimum System Requirements
LifterLMS Requires
- PHP 7.4 or later
- WordPress 5.6 or later
- MySQL 5.6 or later
Visit our full system requirements for additional information.
Automatic Installation
The simplest way to install LifterLMS is through your existing WordPress site’s admin. Let WordPress handle file transfers for you – you’ll never need to leave the web browser or admin panel.
- Log in to your WordPress dashboard
- Navigate to Plugins -> Add New
- In the search field, type “LifterLMS” and click “Search Plugins”
- Once you’ve located LifterLMS, click “Install Now”
- Once installation is complete, click “Activate”
Manual Installation
To manually install LifterLMS, you’ll need to download the zip file using the “Download” link on this screen. Then, use FTP to manually upload the unzipped plugin folder to the proper plugins directory on your webserver.
Please see this WordPress Codex document for full instructions on Manual Plugin Installation.
Setup Wizard
After installation, LifterLMS launches a friendly (and super quick) Setup Wizard.
This wizard helps you configure LifterLMS so you can get to the fun stuff – like creating your courses – as quickly as possible.
The wizard includes a few sample courses you can import if you want to see some examples before you start creating your own content.
You can return to the setup wizard at any time by following these steps.
FAQ
-
Where do I buy add-ons or bundles for my LifterLMS eLearning Website?
-
You can explore the individual learning management system add-ons here or save BIG with a bundle
-
How do I troubleshoot issues with my LMS website?
-
First, make sure that you’re running the latest version of LifterLMS. And if you’ve got any other LifterLMS plugins active on your site, make sure those are running the most current version as well.
The most common issues we see are either plugin conflicts, theme conflicts, or outdated servers. You can test if a plugin or theme is conflicting by manually deactivating other plugins until just LifterLMS is running on your site. If the issue persists from there, revert to the default Twenty Fifteen theme. If the issue is resolved after deactivating a specific plugin or your theme, you’ll know that is the source of the conflict. If it is a hosting issue, contact your web host and make sure they’re running the most current version of PHP.
Also be sure to check out the official LifterLMS Knowledge Base.
-
How do I ask a question about my online course website?
-
Users of the free LifterLMS should post their questions here in our WordPress.org support area. If you find you’re not getting support in as timely a fashion as you wish, you might want to consider purchasing a product from LifterLMS so you can access the LifterLMS support team.
If you’re already a LifterLMS customer, you can simply log into your account and contact the support team directly on the LifterLMS website. We can provide a deeper level of support in there and address your needs on a daily basis during the work week. Generally, except in times of increased support loads, we reply to all comments within 12 business hours.
-
LifterLMS is awesome! Can you set up my online course site for me?
-
LifterLMS offers technical support, but we do not offer custom website development services. However, we do recommend third party LifterLMS Experts who can help with web design, web development, instructional design or marketing for a fee. Click here to visit the LifterLMS Experts page.
-
I’m interested in purchasing add-ons for my WordPress LMS website, but I have a few questions first.
-
If you’re not finding your questions answered here or on our website, you can ask your presales questions through this contact form. You can also connect live with a member of our team here.
-
What add-ons are available for LifterLMS, and where can I read more about them?
-
You can find a full list of official LifterLMS Add-ons here
-
I have a feature idea. What’s the best way to tell you about it?
-
We care about your feature ideas and what you have to say. You can request a feature, vote on existing feature requests, and checkout the product roadmap.
-
Do you have any training for building an online course website?
-
Be sure you’ve taken the free tutorial training video course: How to Create an Online Course with LifterLMS. We also encourage you to get to know us by signing up for a $1 temporary 30 Day website on our servers which comes with the core LifterLMS plugin all our add-ons intalled. This demo allows you to test drive all the add-ons before you invest. Check it out here: Try LifterLMS for $1.
-
I’m interested in contributing to LifterLMS, how can I start?
-
LifterLMS is an open source project. We manage our team, developers, issues, and code on GitHub.
We welcome contributions of all kinds, anyone can contribute even if you don’t write code! Check out our Contributor’s Guidelines to get started.
-
I found a security vulnerability or issue, how can I report it to the team?
-
The LifterLMS team takes security issues and vulnerabilities very seriously. We appreciate your efforts to responsibly disclose your findings, and will make every effort to acknowledge your contributions.
Please contact team@lifterlms.com to report a security vulnerability.
You can review our full security policy at https://lifterlms.com/security-policy.
Reviews
Contributors & Developers
“LifterLMS – WordPress LMS Plugin for Courses & eLearning” is open source software. The following people have contributed to this plugin.
Contributors“LifterLMS – WordPress LMS Plugin for Courses & eLearning” has been translated into 23 locales. Thank you to the translators for their contributions.
Translate “LifterLMS – WordPress LMS Plugin for Courses & eLearning” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
v7.1.4 – 2023-04-28
Bug Fixes
- Fixed an issue that prevented the correct saving of the course length when using the block editor. #2426
Developer Notes
- Fixed an issue running unit tests on PHP 7.4 and WordPress 6.2 expecting
render_block()
returning a string while we were applying a filter that returned the booleantrue
.
v7.1.3 – 2023-04-25
Updates and Enhancements
- Wrapped some elements in HTML for better styling.
- In Course and Lesson settings, replaced outdated URLs to WordPress’ documentation about the list of sites you can embed from.
- Updated few Italian province names. #2256
- Avoid use of inline styles in course reviews. #410
Bug Fixes
- Fixed “Unsaved Data” warning when adding vouchers. #2394
- Fixed “Course Length” and “Difficulty” fields visible in the Block Editor which is meant for Classic Editor. #2174
- Added missing
$post_id
parameter to thethe_title
filter hook when retrieving a form title. #2332 - Added missing Armed Forces options to the US States dropdown in the Billing information form. #2325
- Using
strpos()
instead ofstr_starts_with()
for compatibility. #2415
Developer Notes
- Added helper function
llms_get_floats_rounding_precision()
to return precision for rounding off floating values and filter hooklifterlms_floats_rounding_precision
to filter precision value in reporting. #2237 - Added
lifterlms_dashboard_memberships_not_enrolled_text
filter hook to allow altering the message displaying on the student dashboard when the current user is not enrolled in any memberships. #2396 - Added
lifterlms_dashboard_courses_not_enrolled_text
filter hook to allow altering the message displaying on the student dashboard when the current user is not enrolled in any courses. #2396
Updated Templates
v7.1.2 – 2023-03-27
Updates and Enhancements
- Making the LifterLMS logo link to the LifterLMS.com site.
Bug Fixes
- Fix bug in
llms_featured_img
function when featured image file is not available. #2381 - Fixed manual certificates awarding broken when using the block editor. #2386
v7.1.1 – 2023-03-13
Bug Fixes
- Fixed notice display on WooCommerce dashboard pages.
- Fixed View button URL when using WP in subdirectory.
- Fixed blank System Report’s copy for Support.
v7.1.0 – 2023-03-02
New Features
- Added lessons count column on the Courses post list table.
- Added a new Dashboard page under the LifterLMS menu in the admin, whicih includes recent activity widgets and links to useful resources.
- Added link to the course builder for each lesson on the Lessons post list table. Also added a link to either edit or add a quiz.
Updates and Enhancements
- Updates LifterLMS Helper to v3.5.0.
- Make the LifterLMS menu meta box initially available on Appearance -> Menus.
- Updates LifterLMS REST to v1.0.0-beta.26.
Bug Fixes
- Catch possible fatal when trying to display a “broken” basic notification and set its status to ‘error’ so that it’ll be excluded from the next fetches.
- Catch possible fatal when sending notification emails and in that case remove from the queue the item that produced it.
- Fix cloned course retaining original course’s ID in some restriction messages.
- Fixed possible admin notices duplication when activating/deactivating or installing add-ons from the page Add-ons & more.
- Avoided setting the
llms-tracking
cookie when there are no events to track. - Updated styles across the entire plugin.
- Updated Add-ons & more list to hide old (uncategorized) products.
Deprecations
- Deprecated methods
LLMS_Admin_Notices_Core::sidebar_support()
andLLMS_Admin_Notices_Core::clear_sidebar_notice()
. - Removed notice for theme sidebar support.
Developer Notes
- The function
llms_is_user_enrolled()
will always returnfalse
for non existing users. While, before, it could returntrue
if a now removed user was enrolled into a the given course or membership. - Added new
LLMS_Course::get_lessons_count()
method. It can be used in place ofcount( LLMS_Course::get_lessons() )
to improve performance. - Fixed compatibility with PHP 8.1 by using an empty string as menu parent page for the course builder submenu page in place of NULL.
- Avoid passing null values to
urlencode()
andurldecode()
that would produce PHP warnings on PHP 8.1+. - Added
$autoload
parameter to the functionllms_get_student
.
Performance Improvements
- Improve performance when querying notifications via the LLMS_Notifications_Query and there’s no need to count the total notifications found, or for pagination information.
- Immediately return false when running
llms_is_user_enrolled()
on logged out or no longer existing users, avoiding running additional DB queries e.g. when displaying course or membership catalogs for visitors. - Skip counting the total transactions found when retrieving the last or the first transaction for an order.
Updated Templates
- templates/admin/reporting/nav-filters.php
- templates/admin/reporting/reporting.php
- templates/admin/reporting/tabs/courses/course.php
- templates/admin/reporting/tabs/memberships/membership.php
- templates/admin/reporting/tabs/quizzes/quiz.php
- templates/admin/reporting/tabs/students/student.php
- templates/admin/reporting/tabs/widgets.php
- templates/checkout/form-confirm-payment.php
v7.0.1 – 2022-11-14
Bug Fixes
- Fixed a fatal error encountered on the payment confirmation screen when attempting to confirm a non-existent order. #2093
- Use
sanitize_file_name()
in favor ofsanitize_title()
for generating the file name of reporting table export files. #1540 - Resolved conflict encountered on post edit screens when using LifterLMS, Yoast SEO, and the Classic Editor plugin. #2298
Developer Notes
- A stub method,
get_title()
has been added to theLLMS_Abstract_Exportable_Admin_Table
abstract class. This method should be defined by any extending classes and will throw a_doing_it_wrong()
error when undefined. - Added new filter to allow customizing which user roles are affected by the
LLMS_Admin_Menus::instructor_menu_hack
function.
v7.0.0 – 2022-10-04
New Features
- Added handling for admin settings options that store their option values in a nested array.
- Added new AJAX checkout and payment source switching endpoints for payment gateways to utilize instead of the preexisting synchronous form submission methods.
- On purchase completed retrieve the redirection URL from the INPUT_POST ‘redirect’ variable, if no ‘redirect’ variable is passed via INPUT_GET. The INPUT_POST ‘redirect’ variable comes from the new checkout form’s hidden field ‘redirect’ populated with LLMS_Access_Plan::get_redirection_url(). #2229
Updates and Enhancements
- Full Site Editing: [BREAKING] The wrappers in the custom header and footer templates have been changed to the semantic HTML tags
<header>
and<footer>
in favor of default<div>
tags. #2281 - When an order post is restored from the trash its post status will now be “llms-pending” in favor of the default “draft” status.
Bug Fixes
- Fixed unclosed checkout div wrapper on empty cart. #2277
- Don’t attempt to lookup the default payment gateway from user meta data.
- Fixed required fields duplication when the form is a child of a
.wp-block-column
element. #2134 - Fixed an issue that prevented disabling the access plan’s option, Override Membership Redirects, once enabled. #2234
- Disabled
scroll-behavior: smooth
on checkout screen to address form element validity checking issues on Chromium-based browsers. #2206
Deprecations
- Deprecated
LLMS_Controller_Orders::switch_payment_source()
in favor ofLLMS_Controller_Checkout::switch_payment_source()
. - Deprecated the
lifterlms_update_option_{$type}
action in favor of thellms_update_option_{$type}
filter. - Method
LLMS_Controller_Orders::confirm_pending_order()
is deprecated in favor ofLLMS_Controller_Checkout::confirm_pending_order()
. - Method
LLMS_Controller_Orders::create_pending_order()
is deprecated in favor ofLLMS_Controller_Checkout::create_pending_order()
. - Method
LLMS_Controller_Orders::switch_payment_source()
is deprecated in favor ofLLMS_Controller_Checkout::switch_payment_source()
. - Passing jQuery selections into the
window.LLMS.Spinner
functions is deprecated. Use JSElements
or selection strings parseable bydocument.querySelector()
instead. - Deprecated hook
llms_{$method}_title
in favor ofllms_{$method}_refund_title
.
Developer Notes
- Added admin settings helper function,
llms_get_dashicon_link()
, intended to enable the addition of external resource helper links to settings field descriptions. - The
LLMS_Student
object can be instantiated as an empty object and bypass current user autoloading. In the future this may affect integrations using thelifterlms_new_pending_order
action hook which will receive an “empty” student object during order setup by gateways utilizing new AJAX-powered checkout endpoints. - Added a filter,
llms_gateway_{$this->id}_logging_enabled
, which will allow force enabling/disabling of gateway logging functions. - Improved payment gateway secure string logging by adding a method,
add_secure_string()
allowing developers to add secure strings during runtime without the necessity of registering the strings using filters. - Introduces new function
llms_is_option_secure()
for determining if an “secured” option is defined in a “secure” manner. - Implemented new gateway feature:
modify_recurring_payments
. #2176 - Added two new parameters to LLMS_Access_Plan::get_redirection_url() –
$encode
to optionally get a raw (not encoded) URL. –$querystring_only
to optionally get only the redirect URL if set via NPUT_GET variable. - Added new parameter
$querystring_only
to the filter hookllms_plan_get_checkout_redirection
. - Admin settings fields now display
after_html
for additional field types which supportdesc
. - The CSS for
.llms-spinning
and.llms-spinner
elements is no longer loaded as part of thelifterlms.css
andadmin.css
files, instead it is loaded dynamically whenwindow.LLMS.Spinner
functions are called. In some cases CSS overrides to these elements which relied on CSS rule load order may no longer successfully override the default CSS rules. These overrides may need to be updated to have more specific selectors in order to ensure the overrides are retained. - The Javascript object,
window.LLMS.Spinner
, has been converted to a module accessible from the same variable. - The
window.LLMS.Spinner
methods now accept JS Elements and selector strings parseable bydocument.querySelector()
in addition to jQuery selections. - Added new filter
llms_transaction_can_be_refunded
enabling custom refund restrictions to be applied to a transaction.
Updated Templates
- templates/block-templates/archive-course.html
- templates/block-templates/archive-llms_membership.html
- templates/block-templates/single-no-access.html
- templates/block-templates/taxonomy-course_cat.html
- templates/block-templates/taxonomy-course_difficulty.html
- templates/block-templates/taxonomy-course_tag.html
- templates/block-templates/taxonomy-course_track.html
- templates/block-templates/taxonomy-membership_cat.html
- templates/block-templates/taxonomy-membership_tag.html
- templates/checkout/form-gateways.php
- templates/checkout/form-switch-source.php
- templates/myaccount/view-order-actions.php
v6.11.0 – 2022-09-22
Updates and Enhancements
- Since version 6.0.0, the Certificate Title Block provided the option to use four Google-hosted fonts. These fonts will now be served from the site’s server in favor of serving them from the Google Fonts CDN. For more information about this change, please refer to https://make.wordpress.org/themes/2022/06/18/complying-with-gdpr-when-using-google-fonts/. If you wish to continue loading fonts from Google’s CDN, add the following code to your functions.php file:
add_filter( 'llms_use_google_webfonts', '__return_true' );
. #2189 - Upgraded included library,
@woocommerce/action-scheduler
, to version 3.5.2.
Bug Fixes
- Fixed a division by zero error encountered on quiz reporting screens for quizzes with 0 total available points. #2270
v6.10.2 – 2022-09-14
Updates and Enhancements
- Updated
woocommerce/action-scheduler
to version 3.5.1.
Security Fixes
- Fixed a data sanitization issue related to achievement permalinks.
v6.10.1 – 2022-09-07
Bug Fixes