=== LifterLMS ===
Contributors: thomasplevy, chrisbadgett, kathy11, lifterlms, codeboxllc
Donate link: https://lifterlms.com
Tags: learning management system, LMS, membership, elearning, online courses, quizzes, sell courses, badges, gamification, learning, Lifter, LifterLMS
Requires at least: 4.0
Tested up to: 4.9
Stable tag: 3.14.9
License: GPLv3
License URI: https://www.gnu.org/licenses/gpl-3.0.html
LifterLMS, the #1 WordPress LMS solution, makes it easy to create, sell, and protect engaging online courses.
== Description ==
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.
https://www.youtube.com/watch?v=LugJPS7bhxI
# **Extend and Enhance LifterLMS with Add-ons**
#### **Advanced**
_Courses + Community + Coaching = Engagement_
+ [LifterLMS Private Areas][pa]
+ [LifterLMS Social Learning][sl]
#### **Integrations**
_Integrate with the third-party tools you know and love_
+ [LifterLMS Stripe][stripe]
+ [LifterLMS PayPal][pp]
+ [LifterLMS Authorize.Net][anet]
+ [LifterLMS WooCommerce][wc]
+ [LifterLMS ConvertKit][ck]
+ [LifterLMS MailChimp][mc]
#### **Design Tools**
_Make your learning platform beautiful_
+ [LifterLMS Pro][pro]
+ [LifterLMS LaunchPad Theme][lp]
#### **Support**
_Our world-class support has your back_
+ [LifterLMS Pro][pro]
+ [LifterLMS Office Hours][oh]
#### **Save Big with a Bundle**
_Save money while unlocking the full potential of your learning platform_
+ [Infinity Bundle][infinity]
+ [Universe Bundle][universe]
# **Give LifterLMS a Try**
_Try LifterLMS and the premium add-ons before investing any time_
+ [Try LifterLMS for $1][try]
+ [Take a Free Course][demo]
# **[LifterLMS Features][features]**
_With LifterLMS and LifterLMS Add-ons you can..._
#### **Create Courses**
+ Multimedia lessons
+ Quizzes
+ Course builder
+ Drip Content
+ Pre-requisites
+ 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**
+ The [LifterLMS Official Homepage][home]
+ The [LifterLMS Knowledgebase][docs]
+ The [LifterLMS Blog][blog]
+ The [LifterLMS Podcast][podcast]
# **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][git] to find out how you can pitch in.
Want to add a new language to LifterLMS? Swell! You can contribute at [translate.wordpress.org][translate].
Also I'd like to invite you to the [LifterLMS VIP Facebook group][facebook] so you can check out what other LifterLMS users are up to and ask questions to the community.
[home]: https://lifterlms.com/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[docs]: https://lifterlms.com/docs/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[blog]: http://blog.lifterlms.com/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[podcast]: http://podcast.lifterlms.com/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[git]: https://github.com/gocodebox/lifterlms/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[demo]: https://demo.lifterlms.com/course/how-to-build-a-learning-management-system-with-lifterlms/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[translate]: https://translate.lifterlms.com/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[facebook]: https://www.facebook.com/groups/lifterlmsvip/
[anet]: https://lifterlms.com/product/authorize-net/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[dfy]: https://lifterlms.com/dfy/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[ck]: https://lifterlms.com/product/lifterlms-convertkit/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[infinity]: https://lifterlms.com/product/infinity-bundle/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[lp]: https://lifterlms.com/product/launchpad/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[mc]: https://lifterlms.com/product/mailchimp-extension/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[oh]: https://lifterlms.com/product/office-hours/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[pa]: https://lifterlms.com/product/private-areas/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[pp]: https://lifterlms.com/product/paypal-extension/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[pro]: https://lifterlms.com/product/lifterlms-pro/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[sl]: https://lifterlms.com/product/social-learning/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[stripe]: https://lifterlms.com/product/stripe-extension/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[try]: https://lifterlms.com/product/try/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[universe]: https://lifterlms.com/product/universe-bundle/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[wc]: https://lifterlms.com/product/woocommerce-extension/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[features]: https://lifterlms.com/features/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[feature-lms]: https://lifterlms.com/features/lms/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[feature-ecomm]: https://lifterlms.com/features/e-commerce/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[feature-membership]: https://lifterlms.com/features/membership/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[feature-engagement]: https://lifterlms.com/features/engagement/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
== Installation ==
#### 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](https://lifterlms.com/docs/minimum-system-requirements-lifterlms/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale) 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](https://codex.wordpress.org/Managing_Plugins#Manual_Plugin_Installation) 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](https://lifterlms.com/docs/rerun-lifterlms-setup-wizard/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale).
== Frequently Asked Questions ==
#### 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](https://lifterlms.com/docs/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale).
#### 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 WordPress.org 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](https://lifterlms.com/product/lifterlms-pro/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale).
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](https://lifterlms.com/my-account/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale). 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](https://lifterlms.com/dfy/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale).
#### 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](https://lifterlms.com/contact/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale). You can also connect live with a member of our team [here](https://lifterlms.com/contact/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale).
#### 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](https://lifterlms.com/store/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale)
#### 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](https://lifterlms.com/contact/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale), [vote on existing feature requests](?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale), and checkout the [product roadmap](https://lifterlms.com/roadmap/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale).
#### 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](http://demo.lifterlms.com/course/how-to-build-a-learning-management-system-with-lifterlms/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale).
== Screenshots ==
1. LifterLMS Courses
2. LifterLMS Pricing Tables
3. LifterLMS Checkout
4. LifterLMS Lessons
5. LifterLMS Achievement Earned
6. LifterLMS Achievement Badges
7. LifterLMS Quiz Results
8. LifterLMS Student Dashboard
9. LifterLMS Certificates
10. LifterLMS Sales Reporting
11. LifterLMS Student Reporting
12. LifterLMS Enrollment Reporting
13. LifterLMS Sidebar Widgets
14. LifterLMS Subscription Management
15. LifterLMS Settings
16. LifterLMS Course Builder
17. LifterLMS Lesson Settings
18. LifterLMS Engagements
19. LifterLMS Email Engagements
20. LifterLMS Course Access Plans
21. LifterLMS Update Upcoming Order Details
22. LifterLMS Lock Down Non LMS Content with Memberships
23. LifterLMS Membership Course Bundles and Auto Enrollment
24. LifterLMS Business to Business Bulk Enrollment Activations with Vouchers
== Changelog ==
= v3.14.9 - 2017-11-27 =
------------------------
+ Tested up to WordPress 4.9
+ Fix error during uninstall related to missing file
+ Fix issue with rewinding quiz using "Previous Question" button
+ On final question of a quiz the "Next Lesson" button now says "Complete Quiz"
+ When completing a quiz, the loading message will now say "Grading Quiz" the entire time instead of "Loading Question" and then "Grading Quiz"
+ Fix issue causing the
element on course builder pages from being partially empty
= v3.14.8 - 2017-11-06 =
------------------------
+ Lessons can be cloned via the "Clone" action from the lessons post table
##### Builder Improvements & Fixes
+ Add "Existing Lesson" functionality can now clone and attach the clone (when adding a lesson currently attached to a course) OR attach orphans
+ Lessons created via Course builder will have their slugs renamed the first time the lesson title is updated via the builder
+ No longer display notices on the course builder
+ Add extra space to the scollable area on course builder
+ Removed logging and debugging functions from admin builder class
+ JS-generated error messages on the course builder are now translateable
##### Bug Fixes
+ Fix: Show all memberships on dashboard
= v3.14.7 - 2017-10-25 =
------------------------
##### Navigation Menu Items
+ Add LifterLMS endpoints to your nav menu
+ Add Sign In and Sign Out links which display conditionally based on whether or not the visitor is logged in
+ Checkout the docs at [https://lifterlms.com/docs/lifterlms-navigation-menu-items/](https://lifterlms.com/docs/lifterlms-navigation-menu-items/)
##### Bug Fixes
+ Fix SQL query issue with orphaned lesson query on course builder
+ Fix undefined index warning occurring during theme switches
+ Fix issue causing duplicate error messages to display on certain servers
= v3.14.6 - 2017-10-21 =
------------------------
+ Fix: `` are no longer stripped when exporting or duplicating courses (this applies to lessons within the courses as well)
+ Fix: Achievements on student dashboard now output the correct achievement title
+ Fix: Courses on student dashboard ordered by Order attributes will obey settings correctly
= v3.14.5 - 2017-10-14 =
------------------------
+ Course builder will persist open/collapsed state of sections when they are re-orderd
+ Course builder lessons in a section are draggable after reordering a section
= v3.14.4 - 2017-10-13 =
------------------------
+ You were right and we were wrong & we are sorry. This update returns the ability to add existing lessons to a course via the course builder.
+ Lessons added to a section will no longer visually disappear when editing a section title on the course builder
+ BuddyPress integration BP template fixes
= v3.14.3 - 2017-10-12 =
------------------------
+ Fix [lifterlms_my_account] shortcode issue affecting Divi theme users
= v3.14.2 - 2017-10-11 =
------------------------
+ Instructor query utilizes correct `$wpdb->prefix` for filtering by role instead of `wp_` which will not work when the `$table_prefix` in wp-config.php is customized
+ include the admin notices class when running database update functions
= v3.14.1 - 2017-10-10 =
------------------------
+ Fix `[lifterlms_my_achievements]` shortcode
+ Fix reference to deprecated core function related to checking the permissions of content restricted to a membership
+ Builder titles will be saved on all field focusout/blur events, not just tab & enter key presses
+ LifterLMS custom meta save metaboxes will not trigger actions during ajax requests
+ Fix issue displaying certificates on admin panel reporting screens
= v3.14.0 - 2017-10-10 =
------------------------
+ Updated JS for 3.13 course builder to address issues on PHP 5.6 servers with asp_tags enabled
+ Normalized date returns with various dates related to enrollments, achievements, and certificates. These dates now utilize the WP Core `date_format` option.
+ Fixed strict comparison issue related to database query abstract (affected checks for last page & first page on admin reporting screens)
+ Added a new capability `llms_instructor` for admins, lms managers, instructors, and instructor's assistant to easily differentiate "instructors" from "students"
+ Fix `$wpdb->prepare` issue related to notification queries. Fixes WP 4.9-beta issue.
##### Student Dashboard Updates
+ Achievements on student dashboard now viewable in popover modal.
+ Achievements tab added to student dashboard
+ Courses, Memberships, Achievements, and Certificates have been updated to have a unified style
+ Courses & Memberships extend the default catalog tiles
+ Courses shortcode has new parameters useful for displaying a list of a specific users courses only. [More info](https://lifterlms.com/docs/shortcodes/#lifterlms_courses)
##### Deprecated functions
+ `LLMS_Student_Dashboard::output_courses_content()` replaced with `lifterlms_template_student_dashboard_my_courses( false )`
+ `LLMS_Student_Dashboard::output_dashboard_content` replaced with `lifterlms_template_student_dashboard_home()`
##### Template Updates
+ [achievements/loop.php](https://github.com/gocodebox/lifterlms/blob/master/templates/achievements/loop.php)
+ [achievements/template.php](https://github.com/gocodebox/lifterlms/blob/master/templates/achievements/template.php)
+ [certificates/loop.php](https://github.com/gocodebox/lifterlms/blob/master/templates/certificates/loop.php)
+ [certificates/preview.php](https://github.com/gocodebox/lifterlms/blob/master/templates/certificates/preview.php)
+ [loop.php](https://github.com/gocodebox/lifterlms/blob/master/templates/loop.php)
+ [loop/content.php](https://github.com/gocodebox/lifterlms/blob/master/templates/loop/content.php)
+ [loop/enroll-date.php](https://github.com/gocodebox/lifterlms/blob/master/templates/loop/enroll-date.php)
+ [loop/enroll-status.php](https://github.com/gocodebox/lifterlms/blob/master/templates/loop/enroll-status.php)
+ [loop/pagination.php](https://github.com/gocodebox/lifterlms/blob/master/templates/loop/pagination.php)
+ [myaccount/dashboard-section.php](https://github.com/gocodebox/lifterlms/blob/master/templates/myaccount/dashboard-section.php)
+ [myaccount/dashboard.php](https://github.com/gocodebox/lifterlms/blob/master/templates/myaccount/dashboard.php)
+ [myaccount/header.php](https://github.com/gocodebox/lifterlms/blob/master/templates/myaccount/header.php)
##### Deleted Templates
+ /myaccount/my-achievements.php
+ /myaccount/my-courses.php
+ /myaccount/my-memberships.php
= v3.13.1 - 2017-10-04 =
------------------------
+ Fix caching issue preventing quiz pass & fail engagements from triggering.
+ Fix issue causing the "Builder" link to display on the lesson post table screen.
+ Fix issue preventing new courses & memberships from being moved from draft -> published.
+ Fix `wpdb->prepare()` empty placeholder issue related to engagement queries. Fixes warning added in WP 4.9.
+ Add better version numbering to static assets to prevent caching issues during plugin updates
= v3.13.0 - 2017-10-02 =
------------------------
##### An All New Course Builder
+ The "Course Outline" metabox found on the admin panel when editing any LifterLMS course has been savagely beaten. We stole its lunch money and we put it towards the construction of an all interface
+ Asynchronous loading: fixes issues where very large courses would drastically slow and possibly even time out the loading of the course edit screen
+ Course outline is now collapsible and expandable. This Fixes issues where it was very hard to move lessons and sections around on very large courses
+ In addition to the familiar (and now improved) drag and drop functionality, you may now also move sections and lessons up and down with button clicks. You can also move lessons between sections with button clicks
+ Add new lessons and sectiosn with a click or drag a new lesson or section into the existing course
+ Edit section and lesson titles faster with inline title editing. No more modals with a potentially slow ajax load to update a title. Click the title, change it, and exit the field to automatically save!
+ Delete sections and lessons with the click of a button
+ Quick links to view (frontend) and edit (backend) lessons
+ Completely internationalized. Thanks for you patience translators!
+ Want to know more? Check out the [docs](https://lifterlms.com/docs/using-course-builder/).
##### New User Roles
+ Added new roles to enable you to provide access to LifterLMS (settings, courses building, etc...) without having to make an admin or mess with complicated code snippets.
+ New Roles:
+ LMS Manager: Do everything in LifterLMS and nothing with plugins, themes, core settings, and so on
+ Instructor: Create, update, and delete courses and memberships
+ Instructor's Assistant: Edit courses and memberships
+ More details and a full list of new LifterLMS capabilities are available [here](https://lifterlms.com/docs/roles-and-capabilities/).
##### Updates & Fixes
+ Tested up to WordPress 4.8.2
+ The "Lesson Tree" metabox has been replaced with a simplified version of the lesson tree and a link to the launch the Course Builder.
+ Course and membership categories and tags will now display on their respective post tables for sorting and filtering. They can be disabled on a per-user basis via the screen options.
+ Removed `var_dump()` from bbPress integration restriction check
##### Uninstall Script
+ Uninstall script now removes all the things LifterLMS creates in your database if a constant is defined. Read more [here](https://lifterlms.com/docs/remove-lifterlms-data-plugin-uninstallation/).
##### Database Update
+ Adds default Instructor data for all LifterLMS Courses & Memberships based off of the post author of the course or membership
+ [More information](https://lifterlms.com/docs/lifterlms-database-updates/#3130)
##### Template Updates
+ [admin/post-types/students.php](https://github.com/gocodebox/lifterlms/blob/master/templates/admin/post-types/students.php)
+ [admin/reporting/tabs/students/courses.php](https://github.com/gocodebox/lifterlms/blob/master/templates/admin/reporting/tabs/students/courses.php)
##### Deprecated Functions
+ The following AJAX functions are no longer utilized by LifterLMS core. If you are utilizing them find alternatives (they all exist). These will be remove in the next **major** release:
+ `LLMS_AJAX::get_achievements()`
+ `LLMS_AJAX::get_all_posts()`
+ `LLMS_AJAX::get_associated_lessons()`
+ `LLMS_AJAX::get_certificates()`
+ `LLMS_AJAX::get_courses()`
+ `LLMS_AJAX::get_course_tracks()`
+ `LLMS_AJAX::get_emails()`
+ `LLMS_AJAX::get_enrolled_students()`
+ `LLMS_AJAX::get_enrolled_students_ids()`
+ `LLMS_AJAX::get_lesson()`
+ `LLMS_AJAX::get_lessons()`
+ `LLMS_AJAX::get_lessons_alt()`
+ `LLMS_AJAX::get_memberships()`
+ `LLMS_AJAX::get_question()`
+ `LLMS_AJAX::get_sections()`
+ `LLMS_AJAX::get_sections_alt()`
+ `LLMS_AJAX::get_students()`
+ `LLMS_AJAX::update_syllabus()`
##### Removed Filters
+ The following filters have been removed and are no longer in use.
+ `lifterlms_admin_courses_access`: replaced with user capability `edit_courses`
+ `lifterlms_admin_membership_access`: replaced with user capability `edit_memberships`
+ `lifterlms_admin_reporting_access`: replaced with user capability `manage_lifterlms`
+ `lifterlms_admin_settings_access`: replaced with user capability `manage_lifterlms`
+ `lifterlms_admin_import_access`: replaced with user capability `manage_lifterlms`
+ `lifterlms_admin_system_report_access`: replaced with user capability `manage_lifterlms`
= v3.12.2 - 2017-09-18 =
------------------------
##### Bug fixes
+ Fix issue with LifterLMS bbPress integration preventing course-restricted topics from being accessible by enrolled students
+ Fix an issue preventing students expired from courses via access expiration settings from being manually re-enrolled by admins
##### Deprecations
+ `LLMS_Student` class function `has_access` is scheduled for depercation in next major release. Developers should switch to `LLMS_Student->is_enrolled()`
= v3.12.1 - 2017-08-25 =
------------------------
+ Prevent duplicate loading of repeater metabox fields
+ Fix undefined warning related to quiz completion
+ Ensure that the bbPress course forums shortcode & widget properly cascade up when used on a lesson or quiz
= v3.12.0 - 2017-08-17 =
------------------------
+ New quiz feature: randomize the order of quiz questions each attempt! Props to [Larry Groebe](https://github.com/larrygroebe)
+ Fixed logic error related to access checks when bubbling from quiz->lesson->course
+ Fixed JS loader check for tinyMCE editors in repeater fields
+ Fixed CSS issue related to tinyMCE editors in repeater fields
+ Fixed issue causing tinyMCE editors in repeater fields to stop working after reordering rows
+ LifterLMS alert box notices are now cleared during shutdown instead of immediately after rendering. Fixes some plugin compatibility issues.
+ Fix reference to invalid meta key on order notes admin screen.
+ Record order note when orders with a defined length complete
+ When a payment is scheduled for an order with a defined length, calculate end date if no end date is saved
+ Minor updates to the `LLMS_Abstract_Integration` class
+ Fix undefined reference error on 404 pages resulting from the preview manager.
##### bbPress Integration Updates
+ Add "Private" Course Forums which allows forums to be made available only to students enrolled in the associated course
+ Adds a shortcode and widget for outputting a list of forums associated with a course
+ Adds the ability to restrict the page set as the bbPress forum index (via bbPress settings) to be restricted to LifterLMS memberships
+ Adds engagement triggers to allow engagements to be fired when a student posts a reply or creates a new topic
+ Improves integration membership restriction check performance
+ Migrated to the `LLMS_Abstract_Integration` class. Visually changes the settings display but has no other impact
+ [More information](https://lifterlms.com/docs/lifterlms-and-bbpress/)
##### BuddyPress Integration Updates
+ Add the ability to restrict activity, group, and memeber directory pages to LifterLMS memberships.
+ Migrated to the `LLMS_Abstract_Integration` class. Visually changes the settings display but has no other impact
+ [More information](https://lifterlms.com/docs/lifterlms-and-bbpress/)
##### Database update
+ calculate and store end dates for orders created prior to version 3.11.0 which have a defined length and do not have a stored end date.
+ migrate bbPress and BuddyPress options to `LLMS_Abstract_Integration` naming convention
+ [More information](https://lifterlms.com/docs/lifterlms-database-updates/#3120)
##### Admin Post Table Upgrades
+ Lessons
+ Fix section titles which formerly were a dead link. Now they're just text
+ Add filtering the table by associated course
+ Quizzes
+ Display associated course and lesson columns with links
+ Add filtering by associated course and/or lesson
+ Quiz Questions
+ Display associated Quizzes with links
+ Add filtering by associated quiz
##### Template Updates
+ [admin/post-types/order-details.php](https://github.com/gocodebox/lifterlms/blob/master/templates/admin/post-types/order-details.php)
= v3.11.2 - 2017-08-14 =
------------------------
+ Tested up to WP Core 3.8.1
##### System Status and Reporting updates
+ System Report renamed to "Status"
+ Added information of template overrides to the system report
+ Added "Get Help" button linking to LifterLMS Ticketing submission page
+ Added "Logs" tab which allows for easy viewing & managment of LifterLMS logs
+ Added "Tools and Utilities" tab and moved tools from the General Settings screen to this tab
+ Improved Session Reset tool
= v3.11.1 - 2017-08-03 =
------------------------
+ New shortcode: `[lifterlms_course_continue_button]`. See [shortcode docs](https://lifterlms.com/docs/shortcodes/#lifterlms_course_continue_button) for more information.
+ New shortcode: `[lifterlms_lesson_mark_complete]`. See [shortcode docs](https://lifterlms.com/docs/shortcodes/#lifterlms_lesson_mark_complete) for more information.
+ Added filter `llms_product_pricing_table_enrollment_status` to allow forceful display of course/membership pricing tables regardless of user enrollment status.
+ Fix course author shortcode to allow usage outside of a course via the `course_id` parameter.
##### Template Updates
+ [product/pricing-table.php](https://github.com/gocodebox/lifterlms/blob/master/templates/product/pricing-table.php)
+ [product/course/progress.php](https://github.com/gocodebox/lifterlms/blob/master/templates/product/course/progress.php)
= v3.11.0 - 2017-07-31 =
------------------------
+ New engagement trigger "Student purchases access plan" allows engagements to be triggered from a specific access plan!
+ Minor performance improvements to notification-related database queries
+ Fix issue causing payment gateways to always use test mode links from Orders on the admin panel
+ Added default email notification merge code for outputting an HTML divider
+ Added new actions to Dashboard template to allow adding custom content to course tiles on the dashboard
##### Template Updates
+ [myaccount/my-courses.php](https://github.com/gocodebox/lifterlms/blob/master/templates/myaccount/my-courses.php)
= v3.10.2 - 2017-07-14 =
------------------------
+ Fix fatal error related to purchase receipts for trashed or deleted orders
+ l10n "Reviews" tab title on course settings
+ Remove commented out sample preheader text from email header template which was displaying in some email clients.
##### Template Updates
+ [emails/header.php](https://github.com/gocodebox/lifterlms/blob/master/templates/emails/header.php)
= v3.10.1 - 2017-07-12 =
------------------------
##### Bugfixes
+ Prevent errors related to attempting to display notification data related to deleted students
+ Fix errors related to displaying notifications for deleted post (courses, sections, lessons, quizzes, etc...)
+ Fix error causing email notifications being sent after related user has been deleted
+ Fix typo preventing `llms_form_field()` from outputting textareas
##### Updates
+ Add new filter `llms_allow_subscription_cancellation` useful for preventing students from self-cancelling their subscriptions on the student dashboard. [More info](https://lifterlms.com/docs/lifterlms-filters/#llms_allow_subscription_cancellation).
+ Add new API for querying students via AJAX select2 elements
+ Select2 Post Query elements can now query multiple post types simultaneously
+ Seletc2 Post Query elements can now support `