Membership sites allow people to register and log-in to gain privileges. Some membership sites offer access to restricted content. Others allow members to post and edit their content. Some allow members to communicate between themselves.

Members, unlike regular visitors, need to register and login to access restricted resources.

In this tutorial, we’ll teach how to build a membership site with Toolset. Your site will include the “user account” area, which allows members to log-in. You will learn how to create content that only members can access and how to build forms that allow members to edit their details.

We will use the following Toolset components for this tutorial:

  • Access – to set-up custom user roles and control what different kinds of users can do
  • Forms – to create the forms that allow members to register, edit their details and create content
  • Types – to set-up custom post types, which will be the “user generated content” on the site
  • Views – to build all the front-end display on the site

If you are planning to charge payment for registering to your site, you’ll also need:

  • WooCommerce – to implement the entire payment processing and reporting
  • Forms Commerce – to allow to charge payment when registering

If you already have Toolset, log-in to your account to download the plugin. Otherwise, you’ll need to buy Toolset to get access to the plugins.

Setting-up custom roles for members using Toolset Access

Access plugin lets you create the custom roles for members and assign the correct privileges to them.

  1. Go to the Toolset -> Access Control and click the Custom Roles tab.
  2. Use the Add new role button to add the roles that you need. You can add as many custom roles as you like.

As a starting point, you can copy the default privileges from the Subscriber role. Of course, you can go ahead and set your own privileges for each role.

Adding custom roles
Custom roles created by Access

* Toolset saves custom roles the same way as WordPress saves the built-in roles. This means that other plugins will see your custom roles.

Restricting access to content

Access plugin also lets you choose what actions different users (by their roles) can do and what content they can access. Let’s go through the different ways you can control access to the site’s content.

Restricting read access to a Custom Post Type

What members will see
What members will see

What visitors will see
What visitors will see

The most efficient way to restrict read access to some of your content is to separate it as a Custom Post Type (CPT) and exclude read access to this CPT for visitors

How to restrict read access to a Custom Post Type

Restricting read access to specific posts or pages

What VIP members will see
What VIP members will see

What unprivileged users will see
What unprivileged users will see

Sometimes you may need to restrict access to certain pages and not to the entire post type. You can do this using the post groups feature of the Toolset Access plugin.

How to restrict read access to specific pages and posts to members only

Restricting read access to some parts of the articles

What visitors and subscribers will see
What visitors and subscribers will see

What Premium and VIP users will see
What Premium and VIP users will see

Certain parts of your posts may include information you would like to show only to members with special privileges. You can do this using the conditionally-displayed text feature of the Toolset Access plugin.

How to restrict access to certain parts of your posts and pages

Restricting access to video tutorials

What visitors and Subscribers will see
What visitors and Subscribers will see

What Premium and VIP members will see
What Premium and VIP members will see

We would like to provide video courses for VIP and Premium members on our membership site.

How to restrict access to video tutorials

Restricting access to downloadable files

What unprivileged users will see
What unprivileged users will see

What VIP members will see
What VIP members will see

Often membership sites provide some files to download.

How to restrict access to downloadable files

Allowing members to sign up for special activities

What unprivileged users will see
What unprivileged users will see

What privileged people see
What privileged users will see

Some membership sites allow the members to sign up for different activities that are exclusively for members.
In our example, we want to give the VIP members the possibility to sign up for webinars.

Allowing members to sign up for special activities

User registration and account management

Your membership site needs to offer visitors to register (create WordPress accounts). Then, they need to log-in and they need to change account preferences. Let’s see how Toolset lets you create all these using front-end forms.

Front-end user registration forms

User registration
User registration

Toolset Forms plugin will let you create forms for front-end user registration and editing. You can create separate forms for different kinds of users, so that forms will contain the exact fields that each kind of user has.

Once your forms are ready, you can link to them from one page where users can choose their membership plans.

Check the following Forms tutorials for details:

Login form and account management

Login form
Login form

To allow users to login to your site, create a custom login form that fits the overall look of your site.

You can build custom login forms and pages using the Toolset Views plugin.

After the user logs in, display links to the user’s resources.
Check the following tutorials for details:

Custom “Lost password” page

Lost password flow
Lost password flow

If you decide to create a custom login page, it’s good to build a custom “Lost password” page as well. See the picture.

Toolset Views provides two shortcodes that help you create custom “Lost password” and “Reset password” pages.

Check this part of the “My account page” tutorial for details.

Charging fees for membership

For charging fees for registration, use the WooCommerce plugin. Toolset integrates well with WooCommerce and allows you to connect a user registration form with a WooCommerce product.

Charging fees for time unlimited membership

In our example, the VIP membership is a time unlimited subscription, which means that it will never expire and the user pays only once, when creating a user account.

For one-time payments, simply connect your Toolset form for registering users with a WooCommerce product. Every time users want to register, they will need to pay the amount set by the product.

You will need to use the following plugins to charge payment for registration:

  • Toolset Forms – included in Toolset package
  • Toolset Forms Commerce – included in Toolset package
  • WooCommerce – free

Now, create a “virtual product” with WooCommerce and set its price to what you want to charge for registration. Then, you connect the product with the user form you created to register your VIP members.

See the Charging payments with Forms to register users tutorial for details.

Handling recurring payments

For handling recurring payments (time-limited subscriptions and those that can be renewed after a specific period), you will need the WooCommerce Subscriptions add-on.

  1. In WooCommerce Subscription settings, define how the role will change if the subscription expires.

    WooCommerce Subscriptions setup
    WooCommerce Subscriptions setup

  2. Create a WooCommerce Product.
  3. Change the product type to Subscription.
  4. Set the price and renewal period.

After filling in all the WooCommerce fields on the checkout page a new user account will be created with the Customer role (a WooCommerce role). Once the customer order is marked as completed, the user role will automatically change to the role you had chosen in the Subscriber Default Role.

See How to use the WooCommerce Subscriptions plugin with Toolset for step-by-step instructions.

Questions?

Agnes Bury, tutorial author
Agnes Bury, tutorial author

Dear reader,
thank you for reading the tutorial, I really appreciate it.

I look forward to hearing your feedback. If you are not a Toolset customer yet, feel free to send me your questions using this form. I’ll be happy to answer.