LearnPress – WordPress LMS Plugin


WordPress LMS Plugin – LearnPress is a comprehensive WordPress LMS Plugin for WordPress. This is one of the best WordPress LMS Plugins which can be used to easily create & sell courses online. You can create a course curriculum with lessons & quizzes included which is managed with an easy-to-use interface for users. Having this WordPress LMS Plugin, now you have a chance to quickly and easily create education, online school, online-course websites with no coding knowledge required.

Live Demo | LearnPress Themes | Support | Documentation

LearnPress is free and always will be, but it is still a premium high-quality WordPress Plugin that definitely helps you with making money from your WordPress based LMS. Just try and see how it is. LearnPress WordPress Online Course plugin is lightweight and super powerful with lots of Add-Ons to empower its core system.

Highly recommended by LearnPress users, we are pleased to introduce you to our best Education WordPress Themes which have LearnPress Theme Bundle included already.
Eduma – Education WordPress Theme (#1 Selling Education WordPress Theme).
Coaching | Life & Fitness Coaching WordPress Theme (Rising Star).
CorpTrain | Corporate Training WordPress Theme (Potential).

LMS & Education WordPress Themes

Take a look at Premium Theme (someone calls it LMS WordPress Template) we designed to work with LearnPress. All developers are welcome to develop WordPress LMS Theme based on LMS Plugin for WordPress – LearnPress. More WordPress LMS Themes are coming soon, both free and premium WordPress Themes for LearnPress.

LearnPress Tutorials

Are you looking for the best LMS WordPress Plugin?

LearnPress features

LearnPress – WordPress LMS Plugin works with your Theme
We create LearnPress LMS Plugin to work with any WordPress Themes.

LearnPress supports WordPress Multisite
Create WordPress based LMS as a multi-site.

Create course
LearnPress LMS Plugin provides an excellent user interface for online courses creating with any options you need. You can find it easy to make a full curriculum layout as well as edit and maintain it.
You can also export and import your courses to another website using LearnPress.

Manage course
With the course you’ve created, you can share it, manage it, watch statistic about the number of students, trends, etc.

Sell course
LearnPress is free but it still allows you to sell your courses with many billing methods supported such as PayPal, WooCommerce, Stripe, etc.

Communicate with your students
BuddyPress makes it easier for you to communicate with your students or instructors via the WordPress forum. Studying, making friends and having fun.

LearnPress provides a bunch of add-ons
Add-ons are used to provide extra features for LearnPress and you can also write your own add-on for more purposes.

LearnPress is free and always will be
Education should be free and we want you to bring it to as many people as you can. Therefore, we create LearnPress as a tool for you to create online course and share it. We’ll continue to develop it as long as we can and make it better and better.

LearnPress is actively developed
We are developing and improving LearnPress day by day and bringing you more new features cos we want LearnPress to become the best WordPress LMS plugin.

LearnPress WordPress LMS Plugin Documentation

Free add-ons for LearnPress WordPress LMS Plugin

Premium add-ons for LearnPress WordPress LMS Plugin

LearnPress has been translated into the following languages

  1. English
  2. French
  3. Indonesian
  4. Italian
  5. German
  6. Polish
  7. Russian
  8. Dutch (Netherlands)
  9. Spanish (Costa Rica)
  10. Spanish
  11. Spanish (Mexico)
  12. Spanish (Venezuela)
  13. Indonesian
  14. Chinese

WordPress LMS Plugin – LearnPress ROADMAP

  • Payment Method support (first priority)
    • Google Checkout
    • Amazon Payments
    • Dwolla
    • Braintree
    • Samurai by FeeFighters
    • WePay
  • Byeenkomste
  • Share Grade
  • BadgeOS
  • Create quiz from random questions in question bank (DONE)
  • Attach restriction to lesson
  • Presentation support (maybe support SlideShare)
  • Student ranks
  • REST API for mobile app
  • No distraction mode (when doing quiz)
  • Report/feedback about a question/quiz/lesson
  • Commission for payment method (DONE)
  • Instructor’s note
  • Private message from Admin to teacher
  • Group payment

Any suggestions for this WordPress LMS Plugin? Send us here.

Other note

Documentation is available in ThimPress site.
LearnPress github repo.


  • Curriculum - Drag and Drop lesson or quiz.
  • Lesson content.
  • Quiz preview.
  • General settings.
  • Quiz settings.
  • Email settings.
  • Demo course page.
  • Add-ons of LearnPress.


From your WordPress dashboard
1. Visit ‘Plugin > Add new’.
2. Search for ‘LearnPress’.
3. Activate LearnPress from your Plugins page.

From WordPress.org
1. Search, select and download LearnPress.
2. Activate the plugin through the ‘Plugins’ menu in WordPress Dashboard.


What is LearnPress?

LearnPress is a plugin for LMS website to spread out courses and sell courses online.

Where can I find LearnPress documentation and user guides?

If you want to use LearnPress to build a Learning Management System website, please refer to our user guides in LearnPress official site.
And if you want to extend or use LearnPress, see our Wiki.

Where can I get support or talk to other users?

If you get troubles when using LearnPress you can ask for help on the LearnPress Support Forum or join the private Facebook group. You could share your feedback about LearnPress. And let us know which feature you want us to build next.

For help with premium add-ons, use our helpdesk.

Where can I ask for new features, suggest new ideas or new themes for LearnPress?

You can send us your thoughts through form here.

Where can I report bugs or contribute to the project?

You can also report bugs on LearnPress Support Forum or LearnPress Github Repository.

Where can I find the REST API documentation?

We will provide documentation about LearnPress REST API really soon.

LearnPress is great, can I contribute to it?

Yes, you can and we appreciate it. Join in our Github Repository.

LearnPress Translation project


Desember 7, 2021
I would have given this a much higher rating in the past. But now, the new plug in requires a lot, I mean LOT of work on the back end. Unless you plan on buying their extremely limited capability themes, this plug in does not play well with many other themes out there unless you are planning to put in a lot of work coding your own CSS and PHP. Their support is ok, but I often get "What you requested can't be done" or in my most recent experience their support team claimed they could not access my site, when the screenshot they sent me clearly showed their browser was not configured correctly for WP. If their support can't figure out how to use the browser correctly, I have very little hope they can fix a problem their plugin is causing. I often have to go in and code things myself to get templates to work as they were originally described.
Oktober 15, 2021
Have been using it for almost a year now. Installation was simple. Finding it quite user-friendly and easy to work with. Convenient interface to create courses, lessons, quizzes etc. Highly recommended!
Oktober 7, 2021
These guys offer great support. I am very impressed about how quickly and willing they are to support LesrnPress and their add-ons.
September 22, 2021
Even the free option for using this plugin is absolutely satisfying and the support is perfect too. Congratulations! Keep up the good work! Calliope
September 21, 2021
Hi all, I would like to say this, when i am looking for a LMS plugin, i found many, atlast I ended up with LearnPress. From the starting of the plugin installation till now, i dont find any problems at all, everything is a breeze here, awesome tutorials, well documented, easy to use, very fast loading.
Read all 492 reviews

Contributors & Developers

“LearnPress – WordPress LMS Plugin” is oopbron sagteware. Die volgende mense het bygedra tot die ontwikkeling van hierdie uitbreiding:


“LearnPress – WordPress LMS Plugin” has been translated into 22 locales. Thank you to the translators for their contributions.

Translate “LearnPress – WordPress LMS Plugin” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.


4.1.4 (2021-11-08)

~ Fixed security: when user share profile, another user can see settings as change password, change info.
~ Modify: not scroll to title courses when load first.
~ Fixed: get incorrect key setting “archive course layout”.
~ Fixed: get value “From name”, “Footer text” setting Email.
~ Removed: option set “From address” email, removed hook “wp_mail_from” make some site can’t send email when install LP.
~ Comment some functions deprecated: “_learn_press_restrict_view_items”, “_learn_press_set_user_items”.
~ Added: hook “learnpress/course/template/price/can-show”.
~ Added: filter “before_show_lp_widget_content”.
~ Show icons on the child Settings tab – Profile page.
~ Fixed: case answer’s question Fill in blank = “0” always incorrect.
~ Fixed: case content of question answers will change by hook apply_filters( ‘the_content’) when reload page, change to do_shortcode().
~ Fixed: store answer of user when reload page will lose.
~ Added: hooks apply_filters(‘learnpress/profile/tab/enrolled/subtab-active’), apply_filters(‘learnpress/profile/tab-active’).
~ Modified: functions course_external_button, can_enroll_course with case course is external and purchased course.
~ Sanitize: email_footer, email_header.
~ Removed: some functions not use on file class-lp-email.php: “get_variable”, “get_object”, “get_common_template_data”, “data_to_variables”
~ Fix show explanation when reload site.
~ Fix show message: “Your order is waiting for processing” when LP Order status is processing.
~ Fixed: condition get link last item if all items completed – on button continue.
~ Fixed: show explanation.
~ Fixed: error user login with mail buy as Guest and LP Oder completed but can’t view course.
~ Fixed: error, sql injection, sanitize feature duplicate post (Course, Lesson, Quiz v.v…) (2021-11-09)

~ Fixed: security CVE-2021-39348, set sanitize for some params missing. (2021-09-15)

~ Fixed: some shortcode of latex show incorrect on question answer.
~ Added: hooks for course_continue_button, course_purchase_button, course_enroll_button.
~ Fixed: Fatal error LP_Abstract_User::get_course_data() when upgrade from LP3 to LP4.
~ Moved: function “Email hook notify” to hook “plugin_loaded”.
~ Added: hooks “learnpress/hook/before-addons-call-hook-learnpress-ready”.
~ Fixed security: Cross Site Scripting (XSS) on fields: External Link, Requirements, Target Audience, Key Features, FAQs.
~ Fixed: click button continue redirect wrong item.
~ Added: functions get_user_ids_enrolled, get_total_user_enrolled.
~ Fixed: error WP_Filesystem_Direct::exist not exist.

4.1.3 (2021-09-07)

~ Modified: Learnpress order status on Dashboard of WordPress.
~ Fixed: Widgets: Popular course, Feature course, Recent course, Course Progress, Course Info, Course Extra. All widget compatible with Elementor.
~ Fixed: Info Order have courses deleted on page Profile .
~ Fixed: error user can’t learn course set external link when Admin created Order manual Completed has this course.
~ Improve performance.
~ Modify function set cache.
~ Modify custom post type of LP.
~ Modify feature run progress on background.
~ Handle send all email of LP (New Order, Processing Order, Completed Order, Cancelled Order, Enrolled Course, Finished Course, Become An Instructor) on Background.
~ Remove child order when Admin created Order manual.
~ Modify enroll/buy course (user, guest).
~ Added wysiwyg field for metabox.
~ Compatible with MathJax-LateX plugin.


~ Modify, optimize Archive course page – call API – make faster
~ Added: back icon on item page
~ Fixed: some where call old function “get_profile_socials” not has param $user_id


~ Added: tool clean “table session” clean sessions expire after 1 days.
~ Fixed: not show button “continue” when course is blocked.
~ Fixed: course doesn’t has any item will be not show button “continue”, “finish”, “retake”.
~ Updated: file languages


~ Added: feature “Allow repurchase option”. Manager can set fixed: Reset/Keep course progress of course or allow student choice.
~ Fixed: show incorrect “Active Courses” on page profile.
~ Fixed: show fake student.
~ Fixed: duplicate label on form Register custom fields.


~ Added: option enable sticky navigation pagination when user answer question on quiz.
~ Fixed: set again current item when manager remove item current when edit course.
~ Modified: page profile – load ajax call API, show more info.
~ Fixed: can’t upgrade DB from 3 to 4 because user translate menu “LearnPress”.
~ Modified: Navigation on page quiz – change icon next, previous to text.
~ Fixed: function “duplicate course” not duplicate “answer option”
~ Fixed: Social icons on page profile when user view another user.
~ Fixed: on multiple site enable option “Registration is disabled” will not show form register on page Profile.


~ Added: feature “Allow Repurchase course”
~ Added: feature “No require enroll”
~ Fixed: Custom register fields error with some name not utf8
~ Added: field “confirm password” on register form profile
~ Fixed: file config.js permission 403 on some sites, change name to lp-configs.js
~ Fixed: When edit course, Admin can add item of another user


~ Fixed: CPU runs high
~ Fixed: “start quiz” error with some cases have cached.
~ Fixed: make Elementor pro show wrong: header, footer… (theme builder)


~ Fixed: Page profile not show login/register form
~ Fixed: translated text on js function “Quiz”
~ Fixed: js scroll to item viewing
~ Fixed: show html title question
~ Fixed: Order change status from “completed” to “pending” => user can’t learn courses in this order
~ Added: Option “Logout Redirect”
~ Fixed: Set default sidebar curriculum will be hide on mobile
~ Modify: Remove course on Overview tab when enable “Publish Profile”
~ Fixed: Elementor pro make archive course show wrong


~ Fixed: error “Duplicate entry” for case upgrade LP4, if user install LP4 and save setting before Upgrade Database
~ Fixed: get option ‘avatar_dimensions’ set default value if user not set
~ Fixed: get option ‘course_thumbnail_dimensions’ set default value if user not set
~ Modify template Profile
~ Fixed: tool “Reset course progress”
~ Fixed: get options “Courses per page”


~ Fixed: get option “archive_course_limit” default value if empty.
~ Fixed: Profile shortcode.
~ Fixed: error table “learnpress_user_itemmeta” doesn’t exist when install new.
~ Fixed: style comment function.
~ Added: form comment on course.
~ Fixed: js itemProgress undefined in Eduma theme


~ Fixed: tool “Reset course progress”
~ Fixed: tool “Reset user progress”
~ Added: tool “Create Database Indexes”
~ Fixed js button “Retake course” if have more than one.
~ Added: tool “Re upgrade Database” ~ If DB upgrade not success
~ Fixed: show button finish when completed quiz – if assessment passed


~ Upgrade library chart.js to v3.2.1
~ Optimize query with cache get list questions on a quiz
~ Show content(description) on page LP Profile, LP Archive
~ Fixed: errors when activated “Metabox” plugin
~ Fixed: broken layout profile page when activated “All in one seo” plugin
~ Removed: tool “Remove current Data”
~ Removed: tool “Remove outdated Data”
~ Removed: tool “Repair database”


~ Fixed: upgrade LP error if mysql version < 5.7 – “Specified key was too long”.
~ Fixed: minor bugs.


~ Added new UI/UX for Quiz screen in frontend.
~ Added enable Gutenberg for lesson and quiz and question.
~ Added extra meta for course: Requirements, Target Audience, Key Features.
~ Improved quiz settings that made it simpler and easy to use.
~ Improved single course page.
~ Improved archive course page.
~ Restructure database tables.
~ Added some hooks/filters.

~ Fix compatible PHP 8.0.3
~ Fix Yoat SEO course category title not working

~ Fix: start quiz 404
~ Optimize

~ Fix minor bug
~ Optimize enroll course
~ Add cache get items’ course
~ Add reset progress by course_id
~ Fix “Enroll Button” is not appearing when disable “Auto Enroll” option

~ Fix header lesson style error on iphone
~ Fix scrollbar error some themes
~ Fix scroll js to item user viewing
~ Add filter ‘lp/email/type-order/object’, ‘lp/email/order/support_variable’

~ Add function Scan database if have not index in table will create
~ Add function Repurchase course when course finished or block duration expire
~ Fix function Statistics
~ Fix error content lesson conflict when activated elementor & yoast seo
~ Fix order status on Dashboard screen
~ Remove js scrollbar jquery
~ Add option ‘Enable Popup Confirm Finish Course, Complete Item
~ Add message block duration

~ Fix compatible PHP 8.0
~ Fix checkout message error
~ Optimize

~ Fix compatible WP 5.6
~ Fix error Yoast-Seo in course archive page
~ Error file global.js on ‘Twenty Seventeen’ theme
~ Fix error page course archive with YoastSeo
~ Fix count students enrolled course on list course backend
~ Fix toggle curriculum bar for right-to-left

~ Fix WPBakery load style inline on course’s item page
~ Fix make co-instructor not show list courses on backend
~ Fix miss lib vue js on LearnPress / Tools / Course page


~ Fix query get posts (courses, items courses) on Backend – multiple site
~ Fix error not same param on hook of Yoast SEO vs Yoast SEO premium
~ Fix security XSS function view_log
~ Fix check if get user on function learn_press_course_purchase_button() is null
~ Fix create statics pages LP on ‘lp setup’ page
~ Show message duplicate class RWMB_Field with another plugins

~ Fix question not show description

~ Fix save author id when add item when edit course
~ Fix title, description item course when install yoast seo plugin
~ Fix Retake when not enable duration expire
~ Fix function ‘Instructors Registration’
~ Add function Export order invoice PDF

~ Add Evaluate via questions
~ Add Evaluate via mark
~ Fixed duration expire course
~ Fixed link ‘Preview change’ button when edit item course
~ Fixed title of course archive page
~ Fixed if quiz has only one question will not show paginate

~ Fix missing file class-lp-course-database.php

~ Fixed run Elementor with question.
~ Fixed lesson preview not show button complete when user enrolled.
~ Add tag apply_filter ‘learn-press/order-item-not-course-id’ on received-order.
~ Add tag apply_filter ‘learn-press/tmpl-button-purchase-course’ before return button purchase course.
~ Optimize (permalink of items course).
~ Show finish course button when items of course completed although the course not passed.
~ Fixed explanation of question when user completed quiz.
~ Hide description of quiz when the quiz completed.

~ Fix can’t load items when select on Order Backend

~ Fixed error get_image() return bool not string on the file \templates\loop\course\thumbnail.php
~ Modify description for the function ‘External Link’
~ Fixed LP_Datetime error with date = ‘0000-00-00 00:00:00’
~ Fixed not show number Duration of Lesson when translate text
~ Fixed not send mail for instructor when have new order
~ Remove hook get avatar of Ultimate member plugin
~ Fixed get value with, height image_size on LP setting
~ Fixed security, clear sanitize
~ Wilfried, security ninja at Synacktiv
~ Fixed compatible with Elementor on items of course (lesson, quizz, question v.v…)

~ Fixed email setting not save tag html

~ Fix save settings


~ Fix sanitize

~ Fix add-on GradeBook

~ Revert library meta-box to v4.15.7

~ Fixed security: remove functions low security
~ Fixed some minor bugs
~ Fixed confusing “external link button” name default of course
~ Fixed filter items of course
~ Fixed create same name, slug page Checkout with Woo
~ Improve performance (2020.03.16)

~ Fixed security issues (CVE-2020-7916): uer logged can change role all users to Instructor
~ Fixed security issues (CVE-2020-7917): remove function low security
~ Fixed error preview Assignment

~ Fixed option Block Lessons not working (20.11.2019)

~ Fixed email doesn’t send.
~ Fixed some js errors.
~ Fixed js call twice times.
~ Fixed question doesn’t show after added to quiz.
~ Fixed ignore some metadata when copying course.
~ Fixed search orders in backend.

~ Fixed some errors.

~ Fixed css conflict with text block of vc.
~ Fixed show message ‘Out of stock’ for course reached limitation users.
~ Fixed show checked answers when review quiz.
~ Fixed review quiz option does not work properly.
~ Fixed update view after removing order’s items.

~ Fixed cannt add items to course.


~ Added option to exclude js/css libraries unnecessary (used in theme or other plugins).
~ Added alt prop to user profile avatar.
~ Fixed can’t next/prev questions when doing quiz.
~ Fixed wrong items navigation when learning course.
~ Fixed missing js of some pages in admin.
~ Fixed can’t close admin notices.
~ Updated envato api to newer version.

~ Added new strings for translating.
~ Corrected currency of Rwandan franc.
~ Fixed missing utils library when adding manually the orders.
~ Fixed upgrade function that doesn’t hide the message when it done.
~ Fixed can’t create new page in settings.

~ Fixed guest can not start quiz with no require enroll course option.
~ Fixed sql to filter orders by user ID.
~ Fixed issue of sending email when finished course: not correct Grade.
~ Fixed can not see Actions buttons when adding questions into the quiz.
~ Fixed changed the logic of Continue button for Course: continue with the next incomplete item.
~ Fixed wrong code to pick up instructor email.

~ Fixed load js missing dependencies and only in LP page.

~ Changed SQL to read course items by user item ID.
~ Improved performance in admin orders page.
~ Upgraded Vue/Vuex to latest version.
~ Added new theme to LP ad.

~ Fixed bug can’t access course after purchased.
~ Fixed bug user can’t redo quiz with option ‘Retake’ is 1.
~ Fixed bug can’t order questions by date in questions bank.
~ Extracted purchased date to date and time in order emails.
~ Show point of quiz in result page.

~ Fixed can not next/prev question when doing quiz.
~ Fixed get wrong total student of a course.
~ Updated language .POT file.


~ Fixed button for creating LP pages does not work properly.
~ Fixed warning when getting course items does not exists.
~ Added button to close warning for outdated templates.
~ Fixed search order not working.
~ Fixed get course items in incorrect order.
~ Fixed can’t start quiz when the course is not required enroll.
~ Fixed the amount number of enrolled users isn’t updated correctly.


~ Fixed cannot enroll course.
~ Fixed prev question button not working correct.
~ Fixed one extra answer option when add new question.
~ Fixed some deprecated keywords for PHP 7.3.
~ Fixed item is null for an item which doesn’t support it’s type (like assignment after deactivate).
~ Fixed bug the next and prev button not work in review mode of quiz.


~ Removed un-security code in PP library.
~ Fixed get curriculum item types doesn’t work properly.
~ Fixed sort sections/items wrong in SQL query.


~ Fixed review quiz doesn’t work properly.
~ Fixed table session create a lot of rows.
~ Fixed can’t enroll to a course purchased.
~ Removed unused functions.


~ Fixed can’t enroll course.
~ Fixed upload issue and drag user avatar on mobile.
~ Fixed course duration does not work properly.
~ Fixed question with multi language.
~ Fixed mail to user 2 times when completed course.


~ Fixed issue info of order added manual not correct.
~ Fixed issue course duplicated is published.
~ Fixed issue Course content column show as “No Content”.
~ Fixed some issues related to cache.


~ Fixed issue vulnerabilities.
~ Fixed issue related to object cache when doing quiz.
~ Fixed lesson 404 with Polylang.
~ Fixed PHP Fatal error class ‘LP_Plugins_Helper’ not found


~ Fixed minor bug in gradebook list in admin
~ Made hook learn-press/course-tabs work
~ Fixed bug: not auto complete quiz. Add 1 more filter hook for checking publicity in profile page
~ Fixed bug: auto enroll course without permission to enroll course
~ Changed filter tag for get_default_meta of lesson
~ Auto full-screen in mobile view
~ Fixed bug: wrong count number in No Preview at Lessons List back-end page
~ Fixed bug: Instructor user cannot see comments of lesson
~ Changed version for template files
~ Added base url for construct nav in user profile
~ Added param for get_nav method
~ Fixed bug: answer correct all question but quiz result is failed with 0%
~ Fixed small bug in quiz editor
~ Fixed bug: wrong count number of the courses in back end because of the status of preview course
~ Fixed bug: not redirect to correct page after logged in in Profile page
~ Fixed bug fatal error include file
~ Added icon for chat-type-format of content item
~ Fixed header-sent when log file


~ Added quiz option to minus a number of points for each wrong question in quiz
~ Added admin email to send to admin when an order is completed
~ Added button allows wp admin can send a request to subscriber
~ Improved auto redirecting to current question when user go to a quiz
~ Improved UI of course editor for RTL
~ Improved content of email sending to admin and instructor
~ Fixed page show 404 with pagination in courses page (conflict with WPML)
~ Fixed course price is still showing after user enrolled course
~ Fixed not auto redirecting to checkout after logged in
~ Fixed some issues made question can’t edit
~ Fixed issue for requesting to get related themes/addons in admin
~ Fixed some issues with content header when viewing in Safari
~ Fixed wrong ordering of course item when adding new
~ Fixed order for multiple users is not show in list of orders
~ Fixed some text is not translatable
~ Fixed breadcrumb not show page name when viewing archive course
~ Fixed archive course show header is title of first course