Online Yoga classes using Restrict and WooCommerce

Support Request

If you need help with restrict, submit a support request, and we will get back to you shortly.

Submit a Support Request

Restrict is very powerful plugin with lots of useful features. However, it’s often difficult to wrap the head around and figure out what you would use it for. But it’s equally useful for the “minor” tweaks where you need to restrict only that one thing that shouldn’t be visible to all the users all the way to relying the whole business on it. This leads us to the purpose of posts like this, to try and give you the idea what you can do with Restrict, based on the real-life example.

The idea

Let’s say that you’re aspiring yoga instructor and you feel that you can make good income by teaching people what you do and enjoy. However, you’re a bit tight on resources as you’re only starting so renting a space where you would hold your yoga classes “face to face” is not an option right now. You are also familiar with the concept of video classes but it seems way too complicated for you to do this. Luckily, it’s not complicated at all and by the end of this post, you will figure that out yourself.



From the website side of things, all you will need is a WordPress based website with Restrict plugin and WooCommerce installed on it. You will also need a camera but chances are that you already have quite decent one if you own any relatively recent smartphone. You will be using the camera to record your yoga classes along with the explanations what you’re doing or, if you’re more tech savvy, you can add some titles to the video with the explanations or even some background music. This is completely up to you and who knows better than you what the video of the yoga class should look like to keep your customers hooked.


Configuring website

Once you install WooCommerce, to your website, you will need to configure at least one payment gateway so that you can take the payments from your customers. WooCommerce supports literally hundreds, maybe even thousands of payment gateways so you’re covered wherever you are on the planet Earth. After that, you will need to create a product that you will be selling to the customers and which will be used as content restriction criteria by Restrict plugin so that only customers who purchased this product can access certain content. For the sake of simplicity of this use case, we will stick to single simple product. Navigate to the Products area of WooCommerce and create new simple product, enter the product title (eg. One Month Subscription) and set the price. And you’re basically done with WooCommerce part.

Let’s say that you will be offering your customers access to your yoga classes for one month after they have purchased a specific product.

With Restrict plugin installed on your website this is quite easy to achieve. Create a new page or post the content of which you will be using to show your yoga class. You will notice a dropdown menu labeled as Content available to. This is Restrict’s dropdown menu and you can use it to restrict the access to the content using various criteria. In your particular case, you will should select WooCommerce Users. As soon as you select this, a new option will appear where you should select Specific product followed by selecting a product that you have previously created in WooCommerce. After that, you should select Limited time after purchase which you should set to 30 days. When all is said and done, it should look something like this:


In a nutshell, you have basically set that the content of this page will be visible only to the users that have purchased a specific WooCommerce product and they will be able to access this content one month after they have purchased the product.

Quite simple, right?


Embedding videos

Now, given that we’re dealing here with the online video classes, the important segment is certainly how you will be embedding the videos to the restricted content.

Of course, the easiest solution would be to upload the video directly to your website via WordPress’ Add Media functionality and that’s it. However, this is very ineffective as this would mean that all of your users would be streaming videos directly from your website which will easily eat up bandwidth quota for your website and get really expensive.

So, as an alternative, you should look for specialized online video streaming services. Of course, as soon as we mention this, YouTube comes to mind first and “default”. And while you’re right to think that might be the solution, there’s one major caveat to this: privacy settings. The thing is that it is quite difficult to make the video not showing anywhere on YouTube (as you want it to be accessible only from your website given that users should pay to view the video) but at the same time to easily embed it to your Video Classes page. Luckily, there is a plugin for this and although it is not free, it will make the things whole lot easier for you. You can find more about it here.

Another video streaming service that may help with this is certainly Vimeo which is much more oriented towards this kind of usage and offers a host of options some of which are free while others require premium memberships. When it comes to access restriction for the videos uploaded to Vimeo, this is thoroughly explained in their post here. With Vimeo, especially with their paid plans, you have granular control over everything: from options for restricting and embedding all the way to customizing the player itself along with the call to action buttons and other things that may help greatly in revenue growth.

As you can conclude yourself, you can hardly get away with no cost at all for hosting your videos. However, count this as the cost of your business operation and have it in mind when deciding on the pricing of the subscription for your yoga classes.



Important note

In order for this to work, your customers must make purchases on your website as registered users. This is because that is the only way for them to later identify and for your website to perform check whether they have really made a purchase on your website for the required product.

Luckily, WooCommerce offers quite easy way to force customers to make purchases as registered and logged in users. All you need to do is to navigate to the Settings area of WooCommerce and then click Accounts and privacy tab. Once there, you should make sure that the option Allow customers to place orders without an account is un-checked. Also, for the convenience purposes, you can check Allow customers to create an account during checkout option as this will make it much easier for new customers to create accounts during checkout without any hassle at all.


Useful tweaks

To make it easier for your customers to log into your website and immediately access the content they have purchased access to, you can place a login form directly to the page that contains the restricted content. To do this, navigate to Restrict area in the back end of your website and then click Login Form tab. Once there, you will be able to make some changes to the login form (if needed) and then copy the shortcode that you can then paste to the page where you want the login form to be displayed. More about this feature can be found in our documentation here.

Another thing you can (and should) do is to make a custom message displayed to the users that are attempting to view the restricted content. Navigate to WooCommerce area of Restrict and then specify the message that you would like your users to get. If you require a specific product for viewing the content, you can use placeholder [rsc_woo_product_links] that will display the product title along with the link to this product which will easily funnel the customer to purchase a required product in a few simple clicks and get the access to the content in a matter of seconds.


How does this look on the front end?

Quite frankly, this vastly depends on the theme that you’re using. However, we will include a couple of screenshots to help you visualize the whole concept.

Let’s say that the customer tried to access one of the yoga class videos that are restricted and they haven’t purchased a required product or they are not logged in. Depending on the message you have set for these customers, this may look something like this:

You will notice here that from this page, a customer can simply navigate to purchase the required product or they can log in in which case they will access the content immediately. If they need to purchase subscription, they will be redirected to the shop page that might look something like this:


And once they finally access your restricted content (yoga class), they will be met with something like this:

Of course, all of these screenshots will greatly vary depending on the theme you’re using and how you set up the content on your website so take these screenshots as illustrative examples only.



As you can see from this simple example, it doesn’t take much to make a website for selling online yoga classes. Of course, we have focused here to the basics and merely scratched the surface of possibilities. However, possibilities are pretty much endless. For example, you can create several products, each of which will be granting different amount of time for accessing your classes (two months, three months, six months, a whole year, etc.). Furthermore, you can have many different pages with different classes, each of which may require different product (meaning: different price). So, yes, these are just the basics and the rest is completely up to you and how you want to monetize your yoga classes.