LifterLMS Payment Plans, Free Trials and Sale Prices, with Examples
How to build payment plans, subscriptions with a fixed number of payments, free and paid trials, and sale prices on LifterLMS access plans, with…
Read articleLifterLMS adds four user roles to WordPress: Student, Instructor, Instructor's Assistant and LMS Manager. Picking the right one for each person on your team is a security decision as much as a convenience one. Give a course author the Administrator role "to save time" and they can install plugins, change payment settings and see every customer's orders.
This article explains exactly what each LifterLMS user role can do, based on the capability definitions in the plugin itself (version 10.x), and the less obvious behaviours that come with them. It then covers how to assign roles safely and how to change capabilities in a way that survives plugin updates.
It is for site owners building a team and for developers setting up permissions on client sites.
| Role | Typical person | Can do | Cannot do |
|---|---|---|---|
| Student | Learners and customers | Take courses they are enrolled in, manage their own account | Anything in the WordPress admin beyond their profile |
| Instructor | A teacher who builds their own courses | Create, edit, publish and delete their own courses, lessons, quizzes, questions and memberships; view reports for their own students; create Instructor's Assistants | Enroll or unenroll students, see other instructors' students, see sales data, change LifterLMS settings |
| Instructor's Assistant | A helper working on someone else's courses | Edit the courses they are assigned to | Create, publish or delete courses; enroll students |
| LMS Manager | An operations or training manager | Everything in LifterLMS, plus editing site content and managing users | Install plugins or themes, change WordPress settings, create Administrators |
The Administrator role also receives every LifterLMS capability when the plugin is installed. LifterLMS gives its own roles and capabilities overview if you want the vendor's summary.
Every account created through LifterLMS checkout or registration gets the Student role. It is the LifterLMS equivalent of a WordPress Subscriber: it can read content it has access to and edit its own account, and nothing else. What a student can see is controlled by enrollment and memberships, not by the role.
If you already have users with the Subscriber or Customer role (from WooCommerce, for example), you do not have to change them to Student. Enrollment works for any WordPress user. The Student role matters mainly for features that target it by default, such as Prevent concurrent logins on the Accounts settings tab.
An Instructor can build and run their own courses without touching anyone else's. In detail:
And what they cannot do: enroll or unenroll students, see orders, change LifterLMS settings, or manage earned certificates and achievements.
Two behaviours surprise site owners:
llms_instructor_menu_hack_roles filter controls which roles that applies to, if you do want an instructor to write posts.An Instructor's Assistant works on courses that someone else owns. They can edit existing courses, lessons, quizzes, questions and memberships they are assigned to, but they cannot create new ones, publish drafts or delete anything. Like instructors, they can view their courses' students and reports.
An assistant is linked to one or more instructors through the Parent Instructor(s) field on their user profile. When an instructor creates an assistant, that instructor is set as the parent automatically. To give an assistant access to a specific course, add them to that course's list of instructors. Our guide to multiple instructors in LifterLMS covers that list in detail.
The LMS Manager has every LifterLMS capability: settings, reporting including sales, orders, enrollments, students, certificates and achievements. On top of that it can edit and publish posts and pages, moderate comments, import and export, and create, edit and delete users.
What it does not have is the rest of WordPress administration: no plugins, themes or core settings. When an LMS Manager creates or edits users, the roles they can assign are limited to LMS Manager, Instructor, Instructor's Assistant and Student. They cannot create an Administrator, and they cannot run the LifterLMS setup wizard, which requires the right to install plugins.
This is the role to give the person who runs your academy day to day. It lets them handle enrollments, refunds and reports without the risk of an accidental plugin update taking the site down.
A user can only hold one role through the standard WordPress screen. If you need someone to be an Instructor and also take courses as a student, that already works: instructors can be enrolled in courses like anyone else.
Role editor plugins can add or remove capabilities, but there is a catch with LifterLMS. Every time LifterLMS is updated to a new version, it runs its install routine, which adds its default capabilities back to its roles. A capability you removed with a role editor quietly returns after the next update.
The durable way is to filter the capability lists LifterLMS uses. Each role has filters named llms_get_{role}_core_caps and llms_get_{role}_wp_caps. This example stops instructors from creating new user accounts:
<?php
/**
* Plugin Name: LLMSX Instructor Capabilities
*/
// Remove user-creation capabilities from the Instructor role definition.
add_filter( 'llms_get_instructor_wp_caps', 'llmsx_instructor_wp_caps' );
function llmsx_instructor_wp_caps( $caps ) {
unset( $caps['create_users'], $caps['promote_users'] );
return $caps;
}
The filter changes what LifterLMS adds on future installs and updates. LifterLMS only adds capabilities, it never removes them on update, so take the capabilities away from the existing role once as well, for example with WP-CLI:
wp cap remove instructor create_users promote_users
Adding a capability works the other way round: add it in the filter, then add it to the role once with wp cap add. Think carefully before granting enroll or unenroll to instructors; those are not limited to their own courses. If you need finer rules than roles allow, such as instructors enrolling students only in their own courses, that is a job for a small custom plugin; see when to build a custom LifterLMS plugin.
Not by default. The Instructor role does not have the enroll or unenroll capabilities. An LMS Manager or Administrator enrolls students, or students enroll themselves through an access plan.
An LMS Manager can do everything in LifterLMS and manage content and non-admin users, but cannot install plugins or themes, change WordPress settings, or create Administrators.
They cannot edit them unless listed as an instructor. With default settings they can view them on the front end, because Unrestricted Preview Access includes the Instructor role.
Yes, with a role editor plugin or code, by combining WordPress and LifterLMS capabilities. Test it carefully, because some LifterLMS screens check for a specific combination of capabilities.
List everyone who needs access, write next to each name what they actually need to do, and map that to the lowest role. Then fix Unrestricted Preview Access and test each role with a dummy account.
If your team structure does not fit the four roles, for example department managers who should only see their own staff, or instructors who need limited enrollment rights, our LifterLMS plugin development service builds permission rules that hold up across updates. Tell us how your team works.
How to build payment plans, subscriptions with a fixed number of payments, free and paid trials, and sale prices on LifterLMS access plans, with…
Read article
A practical tour of every LifterLMS settings tab, from General to Integrations, with the default values that ship with the plugin and the ones most…
Read article
The four lesson drip methods, the course-level drip, lesson and course prerequisites, and how they behave next to start and end dates and…
Read articleSkip the trial and error. Get specialist LifterLMS help and ship faster.