A Complete Guide to the WP Courseware Instructor Role

wp_courseware_instructor_roleAs many of you know, we introduced an instructor role to WP Courseware in our last major update. After spending some time experimenting with it post-release, I would have to say that it’s one of my favorite feature additions to WP Courseware since we released advanced quiz functionality over two years ago. The instructor role feature has been among our top three most requested features for quite some time, so we’re thrilled that we were finally able to find a way to integrate it seamlessly with existing WP Courseware functionality.

We have had quite a few customers contact us to ask for more details regarding the new instructor role and how it can be used, so in today’s post I’ll be digging into it a bit.

Let’s Look at the Difference Between a Role and Capability

If you’re like me, in the early days of your WordPress journey you may have been confused by the difference between roles and capabilities. Capabilities are simply specific permissions granted to users to perform certain functions on WordPress. For example, a user requires a specific capability to publish a blog post. A role is simply a set or group of functional capabilities that you can apply to a user.

Now Let’s Look at the Default WordPress Roles and Capabilities

By default, WordPress has six roles which you can assign to users. Each role has particular capabilities, for example:

  • Super Admin – Only applies to multisite WordPress sites, but is an admin over the entire multisite network.WordPress Roles
  • Administrator – Access to do everything in the WordPress admin area.
  • Editor – Can write, manage, and publish anyone’s posts.
  • Author – Can write, manage, and publish their own posts.
  • Contributor – Can write and manage their own posts, but can’t publish the post.
  • Subscriber – Can make changes to their own profile.

You can read all about roles and capabilities on WordPress codex.

These Default Levels Presented a Problem for Large-Scale WP Courseware Users

Before we added the instructor role, the administrator role was the only role which could create and manage courses. So if a site administrator wasn’t the actual instructor for a course, the administrator would still have to provide instructors with an administrator account in order to manage their courses and students. This wasn’t necessarily a terrible thing…most site admins trusted the instructors to whom they were granting administrative access.

But it did require opening up the site completely to multiple users. Fortunately, we never heard of an instance where the instructor was malicious and intentionally did something to harm a site, but it certainly was an inconvenience and we realized that it could be handled better.

As I mentioned, our customers had been asking for limited instructor access for quite some time. After reviewing suggestions and feedback from a number of our customers who were willing to share how they wanted the role to function, Nate and I sat down to design the instructor role and released it a few weeks later.

And While We Were at It, Why Not Add Course-Level Certificates?

When we started designing the instructor role, we ran into a challenge which we realized was actually an opportunity to go ahead and tackle another highly-requested feature.

Up until our recent release, certificates were configured globally for all courses. Since course creation and management were going to be delegated to the instructor role, we decided that the certificate should be configured on a per-course basis as well. Now you’ll be able to configure unique certificates for each course and your delegated instructors can create their own certificates as well.

WP Courseware Certificates

A Couple of Caveats Before We Dive Into the Instructor Role

There were two issues that we ran into during the development of the instructor role which caused us to evaluate whether instructors needed some WordPress administrative access outside of WP Courseware functionality:

  1. We needed to allow instructors to have access to the media library so that they could add media to their course.Instructor Role Menu
  2. We needed to allow instructors to have access to the users page to allow instructors to handle course enrollments.

At first glance, it would seem that instructors shouldn’t have access to either of these resources. However, course units and quizzes do allow for adding images, hence allowing instructors the ability to add images was necessary. One thing to note is that instructors can add images, but they can’t delete them. As for the users page, we felt it was necessary for instructors to have unrestricted access to that page to be able to add students and enroll students into courses. Just like the media library, instructors can add new users, however, they can’t delete users.

Now Let’s Take a Look at What Instructors Can Manage

Instructors have the ability to create courses, manage course settings, and create all the various course content elements like quizzes, surveys, and questions. However, they can’t see other instructors courses or course content. Here is what an instructor can do assuming they have “authorship” for a course.

  • Create, edit, delete courses.
  • Manage all course settings (including certificates).
  • Create, edit, and delete modules.
  • Create, manage, edit, and delete course units.
  • Create, manage, edit, and delete quizzes.
  • Create, manage, edit, and delete quiz questions.
  • Create and delete their own quiz question tags.
  • View grade books for their own courses (assuming a quiz exists).
  • Create new users.
  • Enroll users into their own courses.

Time to Demo the Instructor Role

Here is a demonstration video to show you what I’ve explained above in detail. You’ll get to see what an administrator sees when they begin assigning instructors for courses. Also, I’ll show what happens when a student is enrolled in multiple courses which each have their own unique instructors.

But What if You Need Instructors to Have Multiple WordPress Roles?

We recently had a customer ask if it was possible to allow a user to have multiple roles. WordPress allows for this, however, it simply doesn’t provide a user interface to assign multiple roles to a user. Remember, roles are just groups of capabilities, so essentially you could write a script to grant additional capabilities to a user. However, that’s beyond the skill set of many of our users.

Fortunately, there is a plugin that will allow you to assign a user multiple roles called User Role Editor by Vladimir Garagulya. This plugin allows you to modify a user’s roles and capabilities. You can also create custom roles and capabilities.

WordPress role editor

This plugin makes it so much easier to add multiple roles to a single user and if you want to get a little more granular, you can add specific capabilities to a specific user.

How Are Instructors Able to Create Course Outlines?

Recently a customer asked, “How can instructors create course outlines if they can’t manage pages?” As many of you know, WP Courseware course outlines are placed on WordPress pages using one of the available shortcodes.

By default, the instructor role can’t create pages hence creating a course outline page would be out of the question unless you add that capability to the instructor. The good news is that there is a solution to this dilemma. The administrator can simply create a single page and utilize the course progress shortcode. Remember, the course progress shortcode will dynamically detect all courses a student is enrolled into and display it on screen as long as a user is logged in. By creating the course progress page, an instructor wouldn’t have the need to create a course outline. Any new courses an instructor creates will be automatically added to the front-end course navigation when students are enrolled.

Are You Using the New Instructor Role?

If so, we’d love to hear how you’re implementing it! Let us know in the comments below!


  1. Trevor Roberts on October 11, 2016 at 4:56 am

    Hi Guys,

    I think that WP Courseware is a fantastic product and it just keeps on getting better! 🙂
    Thanks for a great product!

    • Ben Arellano on October 12, 2016 at 12:07 pm

      Hi Trevor,
      Thank you for your kind words. It’s awesome customers like you that have made WP Courseware a great plugin.

  2. Surajit on June 27, 2020 at 10:44 pm

    The instructor role was much required, and thanks to Nate and Ben for their excellent work and support. I am an old customer, from 2013, and truly appreciate the way flyplugins backs customers. Thanks a lot for the instructor role.

    It would also solve a big issue for me if I could add instructors as instructors to some other instructor’s course where an instructor got a job and left leaving students in the lurch. A coaching class owner asked me this, but I haven’t found a way.

    • Ben Arellano on July 3, 2020 at 11:19 am

      Thank you for being a loyal customer! We have added this to our feature request list. Thank you for your feedback!

  3. Leslie Truex on August 18, 2022 at 6:34 pm

    How is course payment with another instructor handled? Is there a way to keep a commission but have the instructor get the rest of the enrollment fee?

    • Ben Arellano on September 15, 2022 at 11:15 am

      Hi Leslie,
      Currently there isn’t a way to specify a commission for course sales. This would have to be an internal business function.

Leave a Comment

Would you like to test drive WP Courseware for Free?

No credit card required