LifterLMS is a powerful WordPress LMS plugin that makes it easy to create, sell, and protect engaging online courses. The mission of LifterLMS is to democratize education in the digital classroom.

Extend and Enhance LifterLMS with Add-ons


Courses + Community + Coaching = Engagement


Integrate with the third-party tools you know and love

Design Tools

Make your learning platform beautiful


Our world-class support has your back

Save Big with a Bundle

Save money while unlocking the full potential of your learning platform

Give LifterLMS a Try

Try LifterLMS and the premium add-ons before investing any time

LifterLMS Features

With LifterLMS and LifterLMS Add-ons you can…

Create Courses

  • Multimedia lessons
  • Quizzes
  • Course builder
  • Drip Content
  • Prerequisiti
  • Course tracks
  • Assignments (coming soon)
  • Quiz time limits
  • Student dashboard
  • Multi-instructor
  • Lesson downloads
  • Course import & export
  • Discussion areas
  • Instructional design
  • Forum integrations
  • Graphics pack
  • Course reviews

Build an Education-Based Business

  • Credit card payments
  • One-time payments
  • Recurring payments
  • Payment plans
  • Unlimited pricing models
  • PayPal
  • Subscriptions
  • Checkout
  • Free courses
  • Course bundles
  • Private coaching upsells
  • Coupons
  • Bulk sales
  • Affiliate ready
  • Native sales pages
  • Offline sales
  • Customizable enrollment
  • Country and currency
  • E-commerce dashboard
  • Credit card management
  • Subscription switching
  • Payment switching

Engage Your Students

  • Achievement bages
  • Certificates
  • Peronalized email
  • Social learning
  • Private coaching
  • Text messaging

Offer Memberships

  • Sitewide membership
  • Course bundles
  • Traditional memberships
  • Automatic course enrollment
  • Bulk course enrollment
  • Content restrictions
  • Members-only payment plans
  • Private group discussions
  • Members-only forums

Integrate with the Tools You Need

  • Payment gateways
  • Email marketing
  • Forums
  • Mobile friendly
  • Use any theme
  • 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
  • Restricted access
  • Password management
  • Self-hosted

Own and Manage Your Platform

  • Detailed reporting
  • Gradebook
  • Email notifications
  • Bulk enrollments
  • Student management
  • Access management
  • Web design management
  • Branding & Typography
  • LMS Roles
  • Security
  • Require terms
  • Scaleable
  • Layout
  • Testing tools

Get Support

  • Technical support
  • Live office hours
  • Free training courses
  • Setup wizard
  • Detailed documentation
  • Dynamic resources
  • Demo course
  • System analyzer
  • User community
  • Developer ecosystem

Further Reading

Join Our Growing Community

When you download LifterLMS, you join a thriving community of education entrepreneurs, developers, and WordPress enthusiasts. We’re one of the fastest growing open source eLearning communities online, and you are welcome here.

If you’re interested in contributing to LifterLMS, head over to the LifterLMS GitHub Repository to find out how you can pitch in.

Want to add a new language to LifterLMS? Swell! You can contribute at

Also I’d like to invite you to the LifterLMS VIP Facebook group so you can check out what other LifterLMS users are up to and ask questions to the community.

Screenshot (schermate di esempio)

  • LifterLMS Courses
  • LifterLMS Pricing Tables
  • LifterLMS Checkout
  • LifterLMS Lessons
  • LifterLMS Achievement Earned
  • LifterLMS Achievement Badges
  • LifterLMS Quiz Results
  • LifterLMS Student Dashboard
  • LifterLMS Certificates
  • LifterLMS Sales Reporting
  • LifterLMS Student Reporting
  • LifterLMS Enrollment Reporting
  • LifterLMS Sidebar Widgets
  • LifterLMS Subscription Management
  • LifterLMS Settings
  • LifterLMS Course Builder
  • LifterLMS Lesson Settings
  • LifterLMS Engagements
  • LifterLMS Email Engagements
  • LifterLMS Course Access Plans
  • LifterLMS Update Upcoming Order Details
  • LifterLMS Lock Down Non LMS Content with Memberships
  • LifterLMS Membership Course Bundles and Auto Enrollment
  • LifterLMS Business to Business Bulk Enrollment Activations with Vouchers


Minimum System Requirements

LifterLMS Requires

  • PHP 5.6 or later
  • MySQL 5.6 or later
  • WordPress 4.0 or later

Visit our full system requirements for additional information.

Automatic Installation

This is the simplest way to install LifterLMS as it utilizes WordPress to handle file transfers and you never need to leave the web browser or admin panel.

  1. Log in to your WordPress dashboard.
  2. Navigate to Plugins -> Add New
  3. In the search field type “LifterLMS” and click “Search Plugins”
  4. Once you’ve located LifterLMS click “Install Now”
  5. 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. You’ll then need to use FTP to manually upload the files to the proper directory on your webserver.

Please see this WordPress Codex document for full instruction on Manual Plugin Installation.

Setup Wizard

After installing LifterLMS for the first time you will be redirected to the Setup Wizard. This wizard will walk quickly configure LifterLMS so you can get to course creating as quickly as possible. At the conclusion you’ll have the option to import a sample course.

You can return to the setup wizard at any time by following these steps.


Are there any troubleshooting steps you’d suggest I try that might resolve my issue before I post a new thread?

First, make sure that you’re running the latest version of LifterLMS. And if you’ve got any other LifterLMS extensions or themes, 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.

I’m still stuck. Where do I go to file a bug or ask a question?

Users of the free LifterLMS should post their questions in the plugin’s forum. If you find you’re not getting support in as timely a fashion as you wish, you might want to consider purchasing a LifterLMS Pro license.

If you’re already a LifterLMS Pro user or you have purchased one of the LifterLMS themes or extensions, you’re entitled to log into your account and contact the support team directly on the LifterLMS website. We can provide a deeper level of support here 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 it all up for me?

Yes. You can get an instant quote for the team at LifterLMS to set everything up for you through our signature Done For You service. Get an instant quote through our automated quote generation tool on the LifterLMS website services page.

I’m interested in LifterLMS Pro, another LifterLMS extension, or a LifterLMS theme, but there are a few questions I’ve got before making the purchase. Can you help me get those addressed?

Absolutely. If you’re not finding your questions answered on the product pages, 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 officlai 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.

I still have questions. Where can I find answers?

Be sure you’ve taken the free tutorial training video course: How to Create an Online Course with LifterLMS.


Thank you lifterLMS!

I have set up and have been running a course for a few months now. I did this completely for free with this plugin. I am very thankful, they were even very helpful answering technical questions. Awesome option!

Good Development, Nice People

I’ve known and used LifterLMS for a long time and commend it full heartedly.
Lots of capacity for different types of payments, native heartiness and quality integrations such as Stripe etc. Frequent updates and added features.

I like it because although I have had to learn some things I am in total control and can sell courses with only the payment fee. Or give the courses away as a lead magnet.

I use it with Beaver Builder and Launchpad Theme.

It is all very easy however there is a lot here to play with! Have Fun making the courses of your dreams.

Just keeps getting better!

When I was looking for a learning management system, I did a LOT of research. In the end, I choose Lifter LMS. This was soon after the plug-in was launched. Much has changed since then, and I’m happy to say, all for the better. I’m glad that I supported the developers right from the start. I can’t imagine going anywhere else.
Highly recommended!

Leggi tutte le recensioni di 89

Crediti e riconoscimenti

“LifterLMS” è un software open source. Le persone che hanno contribuito allo sviluppo di questo plugin sono indicate di seguito.


“LifterLMS” è stato tradotto in 16 lingue. Grazie ai traduttori per i loro contributi.

Traduci “LifterLMS” nella tua lingua.

Ti interessa lo sviluppo?

Esplora il Codice segui il Repository SVN iscriviti al Log delle Modifiche. Puoi farlo tramite RSS con un lettore di feed.

Change log (registro delle modifiche)

v3.25.4 – 2018-12-17

  • Adds a filter (llms_blocks_is_post_migrated) to allow determining if a course or lesson has been migrated to the WP 5.0 block editor.
  • Added a filter (llms_dashboard_courses_wp_query_args) to the WP_Query used to display courses on the student dashboard.
  • Fixed issue on course builder causing prerequisites to not be saved when the first lesson in a course was selected as the prereq.
  • Fixed issue on course builder causing lesson settings to be inaccessible without first saving the lesson to the database.

v3.25.3 – 2018-12-14

  • Fixed compatibility issue with the Classic Editor plugin when it was added after a post was migrated to the new editor structure.

v3.25.2 – 2018-12-13

  • Added new filters to the LLMS_Product model.
  • Fix issue with student dashboard login redirect causing a white screen on initial login.

v3.25.1 – 2018-12-12


  • Editor blocks now display a lock icon when hovering/selecting a block which corresponds to the enrollment visibility settings of the block.
  • Removal of core actions is now handled by a general migrator function instead of by individual blocks.

Bug fixes

  • Fixed issue preventing strings from the lifterlms-blocks package from being translateable.
  • Fix issue causing block visibility options to not be properly set when enrollment visibility is first enabled for a block.
  • Fixed compatibility issue with Yoast SEO Premium redirect manager settings, thanks @moorscode!
  • Fixed typo preventing tag size options (or filters) of course information block from functioning properly. Thanks @tnorthcutt!

Templates Changed

v3.25.0 – 2018-12-05

WordPress 5.0 Ready!

  • Tested with WordPress core 5.0 (Gutenberg)!
  • Editor Blocks: Course and Lesson layouts are now (preferrably) powered by various editor blocks.
  • When a block is added to a course or lesson, the template hook that automatically outputs that element is removed automatically (preventing duplicates).
  • If you use the LifterLMS Labs: Action Manager you may no longer need it!
  • Course & Membership instructors are now managed through an editor “plugin”. Check out the rocket icon near the “Publish/Update” button.
  • Instructor metabox will load conditionally based on presence of the block editor
  • New courses and lessons will automatically have a preloaded block editor template
  • Courses and lessons will automatically be “migrated” to these templates when edited on the admin panel
  • Various course settings conditionally load based on the presence of the block editor
  • Added filter to the headline size in the course/meta-wrapper-start.php template. Allows customization of headline via the “Course Information” block settings.
  • If you’re not ready for WordPress 5.0 you can still upgrade LifterLMS. This release is fully functional without the block editor.

Bug Fixes

  • Fixed typo in quiz/start-button.php template.
  • Fixed error occurring during activation of LaunchPad via the Add-Ons & More screen.
  • Fixed issue causing quiz reporting screens to be blank for users without view_others_lifterlms_reports capabilities.

Templates Changed

v3.24.3 – 2018-11-13


  • Added user email, login, url, nicename, display name, first name, and last name as fields searched when searching orders. Thanks Thanks @yojance!

Bug Fixes

  • Fixed issue causing fatal errors encountered during certificate downloading caused by CSS <link> tags existing outside of the <head> element.
  • Certificates downloaded by users who can see the WP Admin Bar will no longer show the admin bar on the downloaded certificate
  • Fixed issue on iOS Safari causing multiple choice quiz questions to require a “long press” to be properly selected
  • Fixed issue causing access plan sales to end 36m and 1s prior to end of the day on the desired sale end date. Thanks @eri-trabiccolo!
  • Ensure that fallback url slugs for course & membership archives are translateable.

v3.24.2 – 2018-10-30

  • Fix issue causing newline characters to be malformed on course builder description fields, resulting in n characters being output in strange places.

v3.24.1 – 2018-10-29


  • The shortcode [lifterlms_hide_content] now accepts multiple IDs and can specify whether the user must belong to either all or any one of the specified memberships. Thanks @yojance!
  • The action llms_voucher_used, called when a voucher code is used, will now pass the voucher code as a 3rd parameter. Thanks @yojance!

Bug Fixes

  • Fixed a typo in engagement drop creation dropdown. Thanks README1ST!
  • Fixed issue causing backslash characters (\) to be removed from course elements (sections, lessons, quizzes, and assignments) constructed in the course builder.
  • Fixed an issue in the 3.16.0 database migration script that would cause migrations to get stuck as a result of malformed data saved in an invalid format.
  • Added processing handlers to payment confirmation form. Fixes an issue which would allow multiple payment confirmation requests to be made (if the form was submitted multiple times before the page reloaded) resulting in duplicate charges.

Templates Changed

  • templates/checkout/form-confirm-payment.php

v3.24.0 – 2018-10-23

“My Grades” Student Dashboard Endpoint

  • A new student dashboard endpoint, “My Grades”, has been added
  • The main screen displays a paginated and sortable list of all courses a student is enrolled in and outputs their progress and grade in the courses
  • Students can drill into individual reporting screens for each course where specific details for each course are available for review

Grading Enhancements

  • Each lesson can now be assigned an individual “points” value
  • When a course is graded the points assigned to each lesson will be used to calculate the value of the lesson’s grade within the overall course grade
  • Lessons can also be assigned a value of “0” to allow a lesson to not count towards the overall grade of the course.
  • Email notifications are now sent to a student when an instructor reviews, grades, or leaves remarks on a quiz attempt.

Test Email Notifications

  • An interface and API for sending test email notifications has been added, the following notifications can now be tested:

    • Purchase Receipt
    • Quizzes: Failed (Thanks @philwp!)
    • Quizzes: Graded
    • Quizzes: Passed (Thanks @philwp!)

Updates and Enhancements

  • Quiz Passed & Quiz Failed notifications have new names on the admin panel (“Quizzes: Quiz Passed” & “Quizzes: Quiz Failed”)
  • The default content for Quiz Passed and Quiz Failed notifications have been enhanced. If you’ve modified these you can delete your modified content to have your notifications “restored” to the improved defaults.
  • Change the page title of the Student Dashboard page installed via the Setup Wizard to be “Dashboard” instead of “My Courses.” Thanks @philwp!
  • In the course builder when a lesson is duplicated, the attached quiz will be duplicated as well
  • Minor increase to performance in the LLMS_Course->get_lessons() method
  • Added student_id as a parameter passed to the llms_student_get_progress filter
  • Updated all access plan templates added in 3.23.0 to ensure ABSPATH is defined to prevent direct template access
  • Remove use of deprecated LLMS_Lesson->get_children_lessons() in the LLMS_Course and LLMS_Lesson models as well as in the course/syllabus.php template
  • Refactored the LLMS_Section->get_percent_complete() method to utilize methods from the LLMS_Student model
  • Added the ability for admin table classes to define <tr> element CSS classes
  • Admin settings pages with no settings to save (like the Notifications list) no longer display a “Save” button
  • Added actions when creating, updating, and deleting records managed by LLMS_Abstract_Database_Store classes
  • Updated system report to include URLs to settings with URLs, adds a small speed boost to support request turn around time.

Please Rate & Review LifterLMS on

  • Added a review request link to the footer of LifterLMS admin pages.
  • Added a review request notice which displays a week after installation if the site has 50+ active students.

Bug fixes

  • Fixed issue causing HTML entity codes to display in email subject lines. Thanks @philwp!
  • Fixed issue causing post cleanup functions to run queries against unsupported post types.
  • Fixed typos in a handful of i18n functions so that the proper textdomain is now being used
  • Removed get_option() call to unused option lifterlms_logout_endpoint which ran on WordPress initialization unnecessarily.
  • Removed 3.21.0 fixes for iOS touch issues that are now causing iOS touch issues on quizzes.
  • When an order is deleted, all order transactions will also be deleted. This does not happen until the order is deleted (transactions will remain while the order is in the trash)
  • Fixed an issue causing duplicated quizzes to initially show images for question images & image choices (reorder pictures & picture choice) but the image data would not be properly saved so when returning to the builder or viewing a quiz on the frontend the images would be lost

Deprecated Functions & Methods

  • Deprecated LLMS_Section->get_children_lessons(), use LLMS_Section->get_lessons( 'posts' ) instead

Template Updates

v3.23.0 – 2018-08-27

Access Plan & Pricing Table Template Improvements

  • The pricing table template has been split into multiple templates which are now rendered via action hooks. No visual changes have been made but if you’ve customized the template using a template override you’ll want to review the template changes before updating!
  • New action hooks are available to modify the rendering of access plans in course / membership pricing tables.

    • llms_access_plan: Main hook for outputting an entire access plan within the pricing table
    • llms_before_access_plan: Called before main content of access plan. Outputs the “Featured” area of plans
    • llms_acces_plan_content: Main access plan content. Outputs title, pricing info, restrictions, and description
    • llms_acces_plan_footer: Called after main content. Outputs trial info and the checkout / enrollment button
  • Added filters to the returns of many of the functions in the LLMS_Acces_Plan model.

  • Minor improvements made to LLMS_Access_Plan model

Updates and Enhancements

  • Improved handling of empty blank / empty data when adding instructors to courses and memberships
  • Added filters to the “Sales Page Content” type options & functions for courses and memberships to allow 3rd parties to define their own type of sales page functionality
  • Added filters to the saving of access plan data
  • Improved the HTML and added CSS classes to the access plan admin panel html view

Bug Fixes

  • Fixes issue causing the “Preview Changes” button on courses to lock the “Update” publishing button which prevents changes from being properly
  • Fixed issue causing PHP errors when viewing courses / memberships on the admin panel when an instructor user was deleted
  • Fixed issue causing PHP notices when viewing course / membership post lists on the admin panel when an instructor user was deleted
  • Fixed issue causing PHP warnings to be generated when viewing the user add / edit screen on the admin panel
  • Fixed an issue which would cause access plans to never be available to users. This bug didn’t affect any existing installations except if you wrote custom code that called the LLMS_Access_Plan::is_available_to_user() method.

Template Updates

View the full changelog