LifterLMS User Roles: Student, Instructor, Assistant and LMS Manager

What each LifterLMS user role can and cannot do, taken from the plugin’s own capability definitions, how to assign roles without over-granting access, and how to adjust capabilities so updates do not undo your changes.

  • Add as a preferred source on Google
Illustration for “LifterLMS User Roles: Student, Instructor, Assistant and LMS Manager”

LifterLMS 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.

The four LifterLMS user roles at a glance

RoleTypical personCan doCannot do
StudentLearners and customersTake courses they are enrolled in, manage their own accountAnything in the WordPress admin beyond their profile
InstructorA teacher who builds their own coursesCreate, edit, publish and delete their own courses, lessons, quizzes, questions and memberships; view reports for their own students; create Instructor's AssistantsEnroll or unenroll students, see other instructors' students, see sales data, change LifterLMS settings
Instructor's AssistantA helper working on someone else's coursesEdit the courses they are assigned toCreate, publish or delete courses; enroll students
LMS ManagerAn operations or training managerEverything in LifterLMS, plus editing site content and managing usersInstall 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.

What each LifterLMS role can do

Student

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.

Instructor

An Instructor can build and run their own courses without touching anyone else's. In detail:

  • Content: create, edit, publish and delete courses, lessons, quizzes, quiz questions and memberships. They can edit any course where they are listed as an instructor, even if someone else created it. They can assign categories, tags and tracks but not create or delete those terms.
  • Students: view their own students and those students' progress and grades. They cannot see students who are not in their courses.
  • Reporting: access LifterLMS > Reporting for their own courses. The Sales and Enrollments tab needs a capability instructors do not have, so revenue data stays hidden.
  • Users: create users, but only with the Instructor's Assistant role, and edit only their own assistants.
  • Media: upload files.

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:

  1. Instructors bypass restrictions on every course by default. The Unrestricted Preview Access setting on the General tab includes Instructor and Instructor's Assistant out of the box, so they can open any course on the site without enrolling. On a site with outside instructors, remove those roles from the setting.
  2. Instructors and assistants get the WordPress edit_posts capability, which parts of the WordPress admin require. LifterLMS hides the Posts menu from both roles so they do not wander into your blog; the llms_instructor_menu_hack_roles filter controls which roles that applies to, if you do want an instructor to write posts.

Instructor's Assistant

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.

LMS Manager

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.

How to assign LifterLMS user roles safely

  1. Go to Users, open the user, choose the role from the Role dropdown and save. For a new person, use Users > Add New.
  2. Give the lowest role that does the job. Course authors get Instructor; helpers get Instructor's Assistant; operations staff get LMS Manager. Keep Administrator to the people who maintain the site.
  3. Review Unrestricted Preview Access under LifterLMS > Settings > General and remove roles that should not see every course.
  4. Require strong passwords and two-factor authentication for every role above Student. An Instructor account can publish content on your domain; an LMS Manager account can issue refunds and export customer data.
  5. Remove the role, or delete the account, the day someone leaves. Reassign their courses first, because deleting a user can delete or reassign their content.
  6. Test as the role. Log in with a test account for each role and confirm what it can and cannot see.

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.

Changing capabilities without losing them on update

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.

Common mistakes

  • Making instructors Administrators so they can "see everything". Use LMS Manager, or fix the specific gap.
  • Removing capabilities with a role editor and finding them back after an update.
  • Testing drip or prerequisites as an instructor. Preview access bypasses them; test as a student.
  • Expecting instructors to see their sales. Core reporting hides revenue from instructors. Revenue sharing needs a separate solution.
  • Leaving old staff accounts active. Review users with elevated roles every quarter.

Frequently asked questions

Can a LifterLMS instructor enroll students?

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.

What is the difference between an LMS Manager and an Administrator?

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.

Can instructors see other instructors' courses?

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.

Can I create my own custom LMS 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.

Next steps

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.

Add LifterLMS Expert to your preferred sources

Add lifterlmsexpert as a preferred source on Google, or open this article in your AI assistant to use it as a source.

  • Add as a preferred source on Google
Free consultation

Prefer expert help over DIY?

Skip the trial and error. Get specialist LifterLMS help and ship faster.

Talk to a LifterLMS Expert Explore our services

Replies within one business day