Restrict Content Pro & Learndash – How to Make Them Work Together

by | Jan 31, 2021

If you’re planning a WordPress membership site build, this post will be useful for you.

LearnDash is one of the most popular LMS plugins for WordPress. This plugin enables you to have an online courses infrastructure on your site.

All the features needed to host online courses as part of your online business.

LearnDash plugin adds every feature you could think of when it comes to courses, and those features include:

  • Courses interface with the builder for adding course content
  • Student progress tracking
  • Drip feeding course materials
  • Assignment uploads
  • Quizzes
  • Organization tools: such as groups, group leaders etc.

Although LearnDash has a built in system for selling access to those courses, at the current stage, it is not advanced enough to accommodate all the payment flow scenarios, and the signup process is not really user friendly.

There are too many steps to go through, limited options for taking payments etc.

Don’t get me wrong, you can use the built-in payments system in LearnDash for simple scenarios like selling single courses and likes of it.

Still, if you’re planning to build a membership site, it might be worth looking into another way to take your customers’ payments.

This is where Restrict Content Pro comes into play.

Disclosure: Some of the links in this post are affiliate links. This means if you click on the link and purchase the item, I will receive an affiliate commission. This allows me to keep posting helpful articles about the products I love and use every day.

Restrict Content Pro is a membership plugin that enables you to create a full-featured membership site.

Although the main feature of a plugin like Restrict Content Pro is to handle content restrictions (who should have access to what on your site), it’s perfectly capable to take payments, and it’s quite good at that.

The usual scenario when building a WordPress membership site that will feature courses is to use LearnDash to add courses to your site.

You then use a membership plugin like Restrict Content Pro to handle member registration process, take care of payments and, most importantly, create members-only areas that are restricted from public access.

Since one of those members-only areas will be courses you make with LearnDash, you need to connect two plugins somehow to make them work together.

Meaning that Restrict Content Pro needs to somehow talk to LearnDash and pass on to information such as:

  • Is the user who is accessing the course a member?
  • Does the user have an active membership or has it maybe expired?
  • Should this user have access to X course at all as part of his membership plan?

…and other things like that related to what a member gets access to when he signs up for a membership.

There are two ways to make LearnDash and Restrict Content Pro talk together.

Using Restrict Content Pro Page Restrictions

This is not the option I recommend to beginners but I wanted to list it as useful for someone with custom course access scenario needs or advanced users.

One way would be to set up a course in LearnDash as open, which means that everyone has access to it. Virtually anyone visiting the site would have access to it.

Course progression will work only for logged-in users, and it is impossible to use the Linear progression option in LearnDash. The Linear Progression option controls if someone can skip lessons in the course or not.

The way you’d protect content in this scenario is to use Restrict Content Pro to restrict the content shown inside the given LearnDash course page. It can be a course, lesson, or topic page.

This way, you can have a “content restricted – sign up here” message when user visits a restricted course page. It could be used in exciting ways in theory, but it’s clunky to set up and much more involved.

The good side of this approach is that you can use other Restrict Content Pro add-ons to customize the membership experience further.

For example, Restrict Content Pro has advanced content dripping add-ons and even hard set expiration dates or restrict past content options (to restrict content prior to member’s sign up date).

If you check out the Add-ons section for Restrict Content Pro you can see a full list of possibilities.

Usually, you’ll be able to take advantage of all those features only if you setup RCP and LearnDash in the way it’s described here.

Using Restrict Content Pro and LearnDash Integration

Now this is an option I recommend you go for when building your WordPress membership site.

The idea is to use LearnDash core functionality of enrolling people in the courses and handling them as students.

The issue is that a user that signs up on your website that uses Restrict Content Pro for taking payments will not be automatically enrolled in any of the LearnDash courses.

You need to have Restrict Content Pro pass on the information like hey, there’s a new signup on the site and this user needs to have access to X, Y and Z course. Enroll him in those courses, please.

To make this happen, you need to install a LearnDash extension called Restrict Content Pro Integration.

This integration allows LearnDash to talk to Restrict Content Pro and take actions based on Restrict Content Pro membership status.

When you install this add-on, which is included with your LearnDash license, you’ll now get an option to associate courses members get when signing up for a membership level on your site.

Just select the course you want to give access to in the membership level settings, and you’re good to go.

All members who sign up for the given membership level on your site will automatically get enrolled into associated LearnDash courses.

When their membership expires, they will get unenrolled automatically and lose access to course content available only to paid members.

There is even an option to retroactively give access to members in a situation where you add new courses – something you’ll likely be doing if you’re running a membership site.

For example, you add a new course to the membership level in Restrict Content Pro settings, and you can use a tool where you click on a button and enroll all your members who are on the membership plan already so they get enrolled into that new course you just added.

Neat, isn’t it.

The devil is in the details.

Usually integrations don’t do this, making them useless for memberships that add new courses all the time and expect all their members to get access to new courses immediately.

Make sure to have the latest version of this integration.

Get any of these plugins using my affiliate links in this post, and I’ll be glad to assist you personally and help you get a “latest beta” version of the integration that I’ve tested to find working as intended (not sure if they have updated the official integration in the meantime that is publically available for download from their site). Just send me an email with details to claim this offer.

I’ve worked with the LearnDash support team to get the specs of it up to the levels needed for running typical membership sites powered by Restrict Content Pro + fix some of the bugs I’ve found.

I’m pleased with how it works in all kinds of membership status scenarios.

Unless you have entirely custom requirements in your membership and need to use the power of some of the other Restrict Content Pro add-ons, then I strongly suggest that you go with the way LearnDash is built with its native enrollment system + using integration between RCP and LD to connect the two.

Enroll students automatically into relevant courses using the Restrict Content Pro Integration you download from the LearnDash extensions library.

I’ve tested this integration on my membership site with live users, and it works like this:

  • User signs up for a membership level: gets enrolled into relevant courses associated with that membership level
  • User starts signup process but doesn’t pay: does not get enrolled into any of the courses
  • User cancels membership: nothing happens on the LearnDash courses side
  • User’s paid membership expires: user gets unenrolled from associated courses
  • A new course is added to membership level: use a tool in admin to give access to everyone who should have access to that course per their membership level and status in it

This pretty much covers all the standard membership site use scenarios with membership status handling.

If you need help building your WordPress membership site, and would like to have yours up and running and not worry about all the tech – go to this page to check out our WordPress Membership sites offer.

Also, if you’re looking to fast-track building a membership site with Divi Theme, check out my latest membership site layouts pack here.

Hope you’ll find this post helpful in deciding on the tech for building your WordPress membership site.

All the best – Bogdan


Launch your membership super-fast!

What’s included with all website purchases?

 Website installation service

 Customization & adding your content to the site pages (make it your own!)

 Website ownership (you provide hosting/domain!)

Premium plugins installation (no need to purchase license)

Custom templates and page layouts library inside Divi

1-hour consultation video call

Email support (2 months w/ possibility of extended support)