Mobile App Refresh Campaign [Banner] 2024

Creating a tiered membership site with Sensei and Groups

Written by Dan Johnson on February 13, 2014 Blog, News, Product News.

We’ve previously explained how you can use Sensei and WooCommerce Subscriptions to create a membership-based learning site for your courses.

The only drawback to this method is that you can’t have a ‘tiered membership’ setup, so if you had a subscription with three options — Bronze, Silver, Gold — gold subscribers don’t automatically get access to the bronze and silver content too.

In this post I’ll describe a method you can use to create such a multi-tiered setup, it just requires that you use Sensei in a slightly non-standard way.

To create this setup, you will need the following plugins:

For this example, we’ll set up a simple 2-tiered membership site with Silver and Gold access. We’ll then create two courses — Silver Course and Gold Course — and make sure that silver members can only access the Silver Course, and gold members can access both the Silver and Gold Courses.

Use Groups for membership levels

This method relies on the free Groups plugin and the Groups for WooCommerce extension to control access to the different membership levels.

After installing and activating Groups and Groups for WooCommerce, first we go to Groups > Groups and create two groups — silver and gold — with corresponding capabilities.

Create your membership groups, with corresponding capabilites.

(Refer to the Groups documentation if you need help with creating Groups.)

Then go to Groups > Options and enter those two new capabilities so they can be used to restrict access to courses/lessons.

Add capabilites
Add the capabilities to be used for restricting access

Create membership products

We then create two WooCommerce products — Silver Membership and Gold Membership — and use the Groups tab to specify what groups customers will be added to when buying the product.

The Silver Membership product should add customers to the Silver Group, and the Gold Membership product should add customers to both the Silver and Gold groups.

Product Data
The Product Data panel for the Gold product, which adds customers to the Gold and Silver groups.
Note: If you want to create a subscription-based membership site, you’ll need to use WooCommerce Subscriptions, and simply create subscription products instead of simple products

Restrict access to courses

Now we create our two courses, Silver Course and Gold Course, but instead of assigning them to a WooCommerce product to control access, we use the Access Restrictions panel (provided by Groups) to control who can view the courses, based on their capabilities (i.e. what Group(s) they belong to).

The Silver Course should be accessible by Silver or Gold members, and the Gold Course should be accessible only by Gold members.

Access Restrictions
The Silver Course is accessible to members of the Silver or Gold groups.

The same access restrictions should also be applied to all Lessons within the courses.

Sensei setup

Now if a non-member tries to visit any of those courses or lessons, they’ll get a 404 error, which is why you have to use Sensei in a slightly different way than you usually would.

In Sensei > Settings, you can deselect all of the WooCommerce options, as we aren’t using WooCommerce to control course access.

You should leave the Access Permissions option enabled though, as users will still need to be signed in to take quizzes.

Normally, customers would purchase a course, and see it in their My Courses page.

With this setup however, courses won’t appear in My Courses until you start taking them, so you’ll want to list all available courses on the My Courses page too.

You can do that by adding the [newcourses] shortcode to your My Courses page, after the [usercourses] shortcode.

This will output a list of all courses available to you (based on your membership level). It will have New Courses as a title, but you can easily change that to Available Courses by adding this code snippet to your functions.php file.

So now silver members will see the Silver Course listed there, and they can click the title, then click Start taking this course and then the course will appear in their active courses on the My Courses page.

Silver Course
The Silver Course appears in My Courses after you start taking it.

Marketing your courses

Using this method means you can’t use the regular Courses page to promote and sell your courses, as it will now only display courses that your membership level allows access to. You also can’t view the list of lessons for restricted courses.

So instead you’ll need to use your product pages to promote your courses, listing the course lessons in the product description.

This case study provides a good example of using product pages to promote your course content.

You’ll also want to remove the Courses page from your site’s navigation and instead direct people to the relevant product pages.

Other setups

You could also use this method to create a setup where courses can be sold individually or as an ‘all access’ package. You would simply create a new group for each course, and then an ‘all access’ group, which grants access to each of the individual course groups.

If you’ve used Groups with Sensei to create a membership setup, tell us about it in the comments. We always love to hear how you’re using our products in creative ways.


13 Responses

  1. theresa
    February 13, 2014 at 5:07 pm #

    Useful tutorial thanks!

    Are we likely to get a new theme release this year? As a club subscriber I thought you indicated one theme release a month – did I miss one in January?

    • petergriffyn
      February 13, 2014 at 5:54 pm #

      I think that this post ( ) from Feb 4th …kind of …sort of …maybe means ‘No new themes at the moment’.

    • Dave
      February 13, 2014 at 6:00 pm #

      @theresa: the every-month theme release is history. No monthly new themes, but new themes when they’re ‘ready’. Still i would also like to have more communication around that. Maybe for the love of all the Woo-community members; a new theme tomorrow on valentine’s day ? 🙂

    • Ryan Ray
      February 13, 2014 at 6:27 pm #

      Hi Theresa,

      We’ve actually moved away from churning out a theme each month. In short, our reasoning being that we want to focus on releasing higher quality themes, and themes that have a much longer lifespan. Essentially quality over quantity. 🙂

      We don’t want a theme library that pushes 100+ themes, when we could have a smaller collection that is much more flexible and has longevity. With that said we have a sneak peek out of our next theme here (bottom of post). –

      You should have received an email about our club changes too, apologies if you didn’t receive that.

      • theresa
        February 13, 2014 at 9:58 pm #

        Thanks, I didn’t get the email. Its actually the theme you teased in the post you mention I am waiting to see.

        I know you have a large portfolio to choose from, but having invested quite a lot of time in Listings to see it now being retired, it strikes me I either need to use Canvas or keep an eye on the newer themes which I guess you have used your data to tailor to appeal to a larger market = more sales so worth your time updating.

        I will just have to be a little more patient!

  2. David Jamieson
    February 13, 2014 at 6:27 pm #

    Great post, Dan. This is a way of using these plugins that I hadn’t considered, and opens up some interesting possibilities. Given how long it takes to produce a single quality course, it’s good to have options for deploying that material in different ways. Tiered courses are a great idea… Thanks for the tips!

    • Dan Johnson
      February 13, 2014 at 6:57 pm #

      Thanks David,

      Since you’re already using the product pages to promote your course, I’ll be insterested to see if you can utilise this method in future to offer membership/subscription products 🙂

  3. allmyhoney
    February 13, 2014 at 11:28 pm #

    Thanks for the post here, very interesting to setup a membership site like this and give it a try. Nice one

  4. Hannah Regier
    February 14, 2014 at 2:53 am #

    I’m doing a similar product/group/course system on a site I manage. Differences are that I’m not using the Courses or My Courses pages — just Product pages and My Profile. I’m still linking the WooCommerce products to courses so the courses show up in My Profile without needing the [newcourses] shortcode workaround.

    I’m also using the groups to control access to the BBPress forums that students use to discuss the lesson materials with the instructor.

    One thing that I didn’t find an elegant solution for is that each course has three levels of participation: full student, auditor and self directed, each with different access to the forums. Because product variations can’t be linked to groups or courses, I’ve had to create a separate course for each level even though the content is identical. Those three courses have three products which are displayed as a grouped product, but each link to a different Groups group and course. In the future I’d love to find a better solution to prevent all the duplicating of content.

    Fun stuff!

    • Dan Johnson
      February 14, 2014 at 2:40 pm #

      Thanks for sharing, Hannah 🙂

      Sounds like the duplication issue is because you can only assign a course to a single WC product, right?

      If you used the method described in the post, and didn’t assign courses to products, then you should be able to control access just using Groups, so you wouldn’t need to duplicate your courses.

      You would then need to use the My Courses method described in the post too though.

      • DeonTerblanche
        March 12, 2014 at 8:14 pm #

        Would I be right in saying that you don’t really need WooCommerce then when you only want to restrict access to courses (with Groups) and not necessarily get paid for those courses? In other words, imagine you’re putting private courses, say, on a website that’s used as an intranet. You still want the employees (and nobody else) to access the courses, but you don;t want to sell those courses to them

  5. rpfear
    February 28, 2014 at 2:31 am #

    Thanks for the tutorial Dan, it might prove to be the solution I’ve been looking for. The challenge that remains for me is to understand how to manage the addition of support time offered as part of a tier. For example:

    Silver – lessons one to six, plus three months support
    Gold – lessons one to six, plus seven to ten, plus six months support

    I see that Groups for WooCommerce has an option to set a duration for the group – would this be the place to set the duration for the Silver product even though I’ve added both Silver and Gold groups to the Silver product, or will I have to utilise WooCommerce Subscriptions to control duration?

    Thanks for your help.

  6. jorgeocampo
    March 11, 2014 at 6:24 pm #

    There’s a simpler way to archive this without using WooCommerce: User Access Manager + Role editor plugins