Running a successful membership site can be complex. In addition to creating content that keeps members engaged, you need to effectively manage how members access this content.

Having a platform that restricts content access to members only is important, regardless of whether you hide your content behind a paywall or a sign-up form.

Good membership platforms should also allow you to limit member functions – or what users can do on your membership site. Cousera is a good example.

While the platform allows non-paying students to access most of their courses, students can’t submit some assignments and receive grades on their work without being a paid member.

As a membership site owner, the big question is: How do you restrict your content and certain member functions to only paid or registered users? What about users subscribed to different membership levels

The short answer is that you can achieve this with WordPress roles and levels.

Banner Image for Understanding the Difference: Roles and Levels for Membership Sites

What are Roles?

Roles define what users can and cannot do on your site. In more technical terms, a role is a specific set of capabilities that are assigned to a specific user.

For instance, if you’re working with an external contributor to manage your site’s content, you wouldn’t want them to be able to make site-wide changes like installing plugins and themes, or disabling features on your website.

To assign the appropriate capabilities, you’ll need to create a role within your WordPress dashboard that allows them to do only what you want them to do.

WordPress has 6 default roles that all come with different capabilities. Let’s have a look at each of these roles and their most common use cases.

The 6 Default Roles in WordPress


Screenshot of the WordPress dashboard with the Admin role

This is the default role assigned to you when you can create a new WordPress account. Unless you’re running a multi-site installation on WordPress, the admin role gives you access to everything on the WordPress backend.

Admins can:

  • Create and edit posts and pages
  • Create and delete users
  • Add users and edit their password and roles
  • Install plugins
  • Make changes to the entire website

Remember: You don’t want to assign just anybody to the admin role because you will be giving them control over your entire website. 


Screenshot of the WordPress dashboard with the Editor role

After the admin, we have the editor, who manages the content of a website.

Editors can:

  • Create, edit, and manage the pages and posts of all other users (except admins)
  • Manage categories
  • Moderate comments 

An editor has fewer capacities than an admin. For example, they can’t make site-wide changes like installing plugins, creating and editing users, and installing themes.


Screenshot of the WordPress dashboard with the Author role

Next, we have the author role.

Authors can:

  • Upload files
  • Create, edit, and delete their own posts

Authors cannot edit any post except their own. They also cannot moderate comments or manage categories like an editor can.


Screenshot of the WordPress dashboard with the Contributor role

A contributor is essentially a watered-down version of an author, except they cannot publish their own content.

Contributors can:

  • Create and edit their own posts
  • Submit posts to an editor to review and publish


Screenshot of the WordPress dashboard with the Subscriber role

A subscriber is the lowest role on the hierarchy. 

Subscribers can:

  • Read all the posts on a website

It’s important to note that some sites don’t use the subscriber role at all since it allows complete access to all unrestricted posts.

So, because membership site owners often want more granular control over what their subscribers access, it can make more sense for them to use plugins like Paid Memberships Pro to restrict their content.

Super Administrator

If you run a multi-site installation, a super admin can manage multiple websites from one WordPress dashboard. Super admins are responsible for creating and deleting websites on the dashboard. They can also install plugins, and modify pages and posts as well.

When there’s a super admin, an admin of an individual website can no longer install plugins and themes – they can only activate them.

Other WordPress Roles

Besides the default roles on WordPress, there are other ways you can create custom roles and capabilities for your users:

  1. If you code and write PHP, you can use the WordPress Code Editor to add custom roles and the capabilities for your users using PHP codes. You can also delete roles and capabilities for each role you’ve created.
  1. The User Role Editor plugin gives you the flexibility to create custom roles and assign any available capability to them. You can also create your own unique custom capabilities to assign to your roles.
Screenshot of the User Role Editor in WordPress

Be aware that some plugins like WooCommerce and LearnDash automatically add new roles to your website without your permission.

For example, WooCommerce adds “Customer” and “Shop Manager” roles, while LearnDash automatically adds a “Group Leader” role once activated.

How to Restrict Content Using Roles

Roles are primarily used to assign what a user can do on your site – but some plugins allow you to use roles to restrict your content as well. 


For example, let’s say that Paul wants to create a membership site with three payment levels:

  • A Bronze level (free)
  • A Gold level ($15)
  • A Platinum level ($30)

Bronze level users can only access blog posts. They can also comment and like articles on his site.

Gold level users can access blog posts and webinars. They can comment and like, as well as write and submit articles for review on his site. However, they can’t publish their articles without his consent.

Platinum level users can access blog posts, webinars, and members-only podcasts. They can also write, submit, and publish their own articles on his site.

Paul decides to use roles to restrict his content, so he: 

  1. Installs User Role Editor and creates three custom roles: Bronze, Gold, and Platinum
  2. Assigns default capabilities and creates custom capabilities for each role.

    Users in the Bronze role can only like and comment, while Gold and Platinum users can like, comment, and contribute articles. Only Platinum users can publish their articles on his website.

    Updating the User role in WordPress User role capabilities in WordPress
  3. Installs a role-based membership plugin
  4. Creates three post categories: Webinars, Blog Posts, and Podcasts
  5. Creates and selects the pages, posts, and/or categories he wants to lock (depending on the plugin)
  6. Selects which role(s) can access these categories

    Assigning user roles with access to content in WordPress
  7. Creates another restriction, selects the content he wants to restrict, and chooses the role(s) that can access it

Limitations of Role-Based Content Restriction 

There’s a problem, however. Paul finds out that:

  1. Role-based memberships are built on top of WordPress, which only tracks the user’s current role and nothing else. 

    This means that if a Platinum member downgrades to the Gold level, the user’s past role is discarded and the new role is the only thing he can view; Previous membership history and capacities will be erased.

    To track the history of the user’s membership, Paul would have to create a separate system for storing membership records.
  1. Default WordPress roles and the default roles that come with certain other plugins can bypass his restrictions.

    For instance, the administrator or any role above it (any role with more capabilities) can access the content restricted without signing up for a membership level. So, his content isn’t necessarily completely exclusive.
  1. Role-based memberships don’t allow him to add extra membership details by default, such as:
    • membership start date,
    • the purchase price, and
    • membership expiration date.

      These details are particularly useful for offering discounts, seeing the most active users, and other things Paul wants to be able to do.

What are Levels?

Levels, or membership levels, are the different packages of access, content, and features you have to offer your customers. Levels define what exactly your users receive when they sign up for one of your plans.

They also define how and when customers receive what they’ve signed up for.

Screenshot of Fleischer Tour Fit membership levels

The image above shows the three membership categories for Fleischer Tour Fit. They offer a Basic level, Premium level, and All Access level, depending on user needs and budget.

How to Restrict Content with Levels 

Paul realizes the limitations of roles and decides to try something else. He wants to have the flexibility of tracking membership histories for marketing purposes – and he doesn’t want anyone (even an administrator) to access restricted content unless they’ve signed up for a membership level.  

Paul finds Paid Memberships Pro, a WordPress membership plugin that doesn’t use the role-based method to restrict content. Instead, PMPro uses a level-based method that allows users more flexibility over how they restrict their content and store user data.

Now, Paul is ready to restrict his content and create levels using PMPro, so he:

  1. Installs and activates Paid Memberships Pro
  2. Goes to his WordPress Dashboard and clicks on the Memberships tab
  3. Arrives to the PMPro Dashboard

    Screenshot of the Paid Memberships Pro dashboard
  4. Clicks on View Membership Levels and creates the levels he wants
  5. Checks the Content Settings in the last section of the page for each level he’s creating to make sure his content is restricted correctly

    Screenshot of the Paid Memberships Pro content settings
  6. Saves each level

Paul can also go to the Page or Post that he wants to restrict and check the box of the level he wants it to be restricted to:

Screenshot of the WordPress sidebar setting to restrict content by requiring a specific membership

Paul can also restrict his content based on membership levels with other methods, as discussed in the PMPro documentation on restricting content.

Limitations of Level-Based Content Restriction 

Paul has already restricted what his users can see based on the level they signed up for – but what about what he wants his users to do?

Remember: Paul wants all of his members to be able to like and comment. Then, he wants Gold members to be able to contribute (but not publish) posts, while Platinum members can publish posts.

By default, PMPro only allows Paul to restrict what users can see based on their membership level. He needs to use a PMPro Add On to define what they can do.

Fortunately, the free Roles Add On for Paid Memberships Pro allows him to create custom roles and capabilities that are synced with his different membership levels.

So, Paul creates his custom roles, assigns the desired capabilities with the User Role Editor, and syncs everything to the correct membership level using the Roles Add On.

Goal achieved.

Screenshot of the updated User Role Editor in WordPress

Although he has successfully designed the roles and levels structure he wants, Paul still wants to do one more thing: Make sure he can see all restricted content as an admin without signing up for a membership level.

This is because by default, even website administrators need an active membership level in order to see member-only content with PMPro.

There’s good news: Paul discovers that he can override this behavior for the admin role using PMPro’s code recipe.

Why Use Levels for Membership Sites?

  • Tracking your membership history allows you to give special offers and discounts to long-time customers. Paul can give his long-time Gold members a discount to join his Platinum level, for example. He can also collect user birth dates in order to send them birthday emails – something that can strengthen relationships with his customers and create opportunities for upselling.
  • You can have the best of both worlds by combining membership levels (ex. PMPro) with roles (ex. The Roles Add On for PMPro). You can manage your membership records the way you want to, while still assigning specific roles to your users based on their levels.
  • You can sync roles and levels for better management of your membership structure. 
  • If you restrict your content with roles alone, you risk having your roles overridden by certain plugins.

Summary: Core Differences Between Roles and Levels for Membership Sites

  1. Roles don’t keep track of a user’s membership’s history while levels store user membership information, even when they upgrade, downgrade or cancel their levels.
  1. Roles don’t allow you to collect extra information like the membership expiration date, start date, or discounts. PMPro’s level system allows you to collect custom information and store it in your own database.
  1. You cannot use roles to restrict content using PMPro.
  2. To restrict what a user can do – such as commenting, editing, changing their profile, etc. – you will need to use the free Roles Add On for Paid Memberships Pro (by default, PMPro uses membership levels to restrict what a user can see, not what they can do).

Looking for a robust membership plugin for WordPress that restricts contend based on levels? Try Paid Memberships Pro today risk-free.