Want to build an online course on your blog without having to pay for a platform like Teachable?
I am going to show you how to do that without the high cost.
(This post contains affiliate links.)
This is an online course plugin where you can set up a regular or a video course as well. You can select if you want to host your videos on YouTube, Vistia or Vimeo.
Thrive Apprentice is a ready-to-go platform where you don't need to bother with building pages from scratch. All you need to do is add your photos, text and videos.
The plugin gives you an entire online course template. There is already a nice lesson structure arranged that is comparable with Teachable or any other premium platform, without the monthly fees and cost.
You will need Architect to edit the lessons of your course and to set up your sales pages. Just select your template, add your photos, text and videos. At the same time you have the freedom to add all kinds of components to the pre-made templates.
You can choose from these membership plugins. This is what you are going to use for selling and collecting payments for your course.
The best WordPress theme for online courses is any of the Thrive themes, because of compatibility reasons. Thrive Themes are designed to work together with the Thrive Apprentice plugin. You can, however use any other theme.
The best WordPress course plugin I have seen is Thrive Apprentice. Now I am going to show you how easy it is to build a course with it.
First create a new page where all your courses will be listed, like "Online Courses".
Then create a registration page for your courses.
There is one thing that you need to pay attention to when you start. The earlier versions of Thrive Apprentice had to be activated from the Theme Options and only some of the themes were designed to support the course feature.
Instead, you just need to go to the Thrive Dashboard, then click on Thrive Apprentice >Thrive Dashboard.
You will see the following:
Welcome to Thrive Apprentice 2.0!
In order to create your online teaching platform, we need to set up two-three things really quickly.
Step 1: Choose a page where all your courses will reside.
You can search through existing pages and select the one you just created or you can create a new one.
The next screen:
Step 2: You can choose to personalize the template for your courses or go directly to creating courses by loading the default template.
You can always edit the course template by going to Settings > Template Options.
Click on Load Default Template.
You will be taken to your Thrive Apprentice Dashboard.
Go to Settings>General Settings
Set your course registration page and you can enable comments if you want to.
Go to Settings>Template Settings
Here you can change the course's name, description, font sizes, all the placeholders and button texts.
With this you can even set your course up to display in a certain language. Just change all text to that language.
Click on Course Topics. It will say "General".
In this case I am adding "Introductory" for my free stuff and "Premium" for my blog traffic course.
You can assign a photo and pick a color to color code the different types of courses.
Like green for free and dark blue for premium.
Under Filter by Topics you are now able to see the categories you just created.
Now click Add Course.
You can add your course name, URL, write a short introduction.
Then upload an image, approximate size 1170 x 382.
If you press the switch on the left bottom, you can add a video also.
If you click on Advanced settings, you can set some details like instructor name, if comments are allowed and category.
But more importantly, this is where you can set whether the course is only available for logged-in users only and for which user roles.
This is the point where the membership plugin connects to the course.
Therefore you need to have a membership plugin that enables you to add new user roles.
You also have a chance to exclude some lessons from the protection rules and use them as teasers.
Click Save to save your course.
You will see that the plugin pulled your profile photo as instructor.
Now you can add lessons.
First you add the intro of the lesson.
To add the actual lesson content, click Edit with Architect. This will open Thrive Architect for adding/editing your lesson content.
From the left sidebar menu you drag and drop either the Paragraph element, in which case you type your text in, but you can also do it with the WordPress Content element, in which case you can use the full WordPress editor to add whatever you wish, even affiliate links.
After you added your first lesson, you can publish it.
After you have done that, you can also publish your course.
If you only have one course, your student will be taken straight to the first lesson. If you have more, you will be taken to an index page like this:
I had this problem and it took a while to figure out why.
As a general rule, if you have any problems with Thrive Themes or plugins, there are two reasons.
If you see a page loading gray, it is always plugin conflict. Identify which plugin is causing the problem by turning them off - you can try one by one, but if that doesn't work, turn off all plugins (except Thrive) and then turn them on one by one.
The reason why my course pages weren't showing up was the Thirsty Affiliates plugin. I turned it off and then on and this fixed the problem.
In order to sell your course, you need a sales page. I use Thrive Architect for creating all of my pages.
It has a template called Know-How for online courses, which includes not just the sales page, but lead generation page, video sales page, email confirmation page, etc.
You just open the template, change the text, the photos or add any needed elements from the left sidebar, such as text, buttons, background, etc. You can easily change the font, the color, the style of the background, add shadow, pattern, etc.
I also created a Course Registration page. I simply took an email confirmation page, deleted some content and added a pricing table from Thrive Architect.
The procedure is similar if you want to create a lead generation page, email confirmation page, etc.
We have used Thrive Apprentice to set the course up. However this plugin doesn't sell your course and doesn't include the membership registration, etc. functions of your site. To do that, you will need a membership plugin.
Instead of giving you just one membership plugin option, I am giving you three, this way you can decide what fits you best.
Despite its name, this plugin has a free version. It gives you a basic set of functions with simple basic membership pages already pre-made. This is how you set it up.
Go to Memberships>Membership Levels, add the desired levels.
I am adding a Free Membership and a Traffic Course level. Don't worry about all the details, just add the name of the level and the price.
Doing this will also generate the user role we need in the Thrive Apprentice plugin for restricting the content of the course.
Pages: This is where you can add your membership signup pages:
PayPal, Stripe, Authorize.net, 2checkout, Braintree, check and Cybersource are supported, plus there is a test setting.
This is where you can set the "From" email address, the sender's identity.
You can also set when you, the site admin, want to receive emails, such as checkout, cancellation, new user signup.
There is a menu for free and pro add-ons, viewing the members list, reports, orders.
You also have the option to set up discount codes (coupons).
Here are just some of the add-ons (the Pro membership costs $297/year for 1-5 sites):
Hide Admin Bar From Non-admins - WordPress.org
A tweak of the code by Yoast to hide the admin bar for non-admins only.
Import Users from CSV - WordPress.org
Import Users data and metadata from a csv file.
Paid Memberships Pro - Add Member Admin - PMPro Plus
Allow admins to add members in the WP dashboard.
Paid Memberships Pro - Add Name to Checkout Add On - PMPro Plus
Adds first and last name fields to the user account section at checkout for Paid Memberships Pro.
Paid Memberships Pro - Add PayPal Express Add On - PMPro Plus
Add PayPal Express as a Second Option at Checkout
Paid Memberships Pro - Addon Packages - PMPro Plus
Allow PMPro members to purchase access to specific pages. This plugin is meant to be a temporary solution until support for multiple membership levels is added to PMPro.
Paid Memberships Pro - Address For Free Levels Add On - PMPro Plus
Show address fields for free levels also with Paid Memberships Pro
Paid Memberships Pro - Advanced Levels Page Shortcode Add On - PMPro Plus
An enhanced shortcode for customizing the display of your Membership Levels Page for Paid Memberships Pro
Paid Memberships Pro - Affiliates Add On - PMPro Plus
Create affiliate accounts and codes. If a code is passed to a page as a parameter, a cookie is set. If a cookie is present after checkout, the order is awarded to the affiliate account.
Paid Memberships Pro - Approvals Add On - PMPro Plus
Grants administrators the ability to approve/deny memberships after signup.
Paid Memberships Pro - Auto-Renewal Checkbox - PMPro Plus
Make auto-renewal optional at checkout with a checkbox.
Paid Memberships Pro - AWeber Add On - WordPress.org
Sync your WordPress users and members with AWeber lists.
Paid Memberships Pro - bbPress Add On - WordPress.org
Allow individual forums to be locked down for members.
Paid Memberships Pro - Better Logins Report Add On - PMPro Plus
Adds login, view, and visit stats for "This Week" and "This Year".
Paid Memberships Pro - BuddyPress Add On - WordPress.org
Manage access to your BuddyPress Community using Paid Memberships Pro.
Paid Memberships Pro - Check Levels Add On - PMPro Plus
A collection of customizations useful when allowing users to pay by check for Paid Memberships Pro levels.
Paid Memberships Pro - Constant Contact Add On - WordPress.org
Sync your WordPress users and members with Constant Contact lists.
Paid Memberships Pro - Custom Level Cost Text Add On - PMPro Plus
Modify the default level cost text per level, per discount code, or globally via advanced settings.
Paid Memberships Pro - Custom Post Type Add On - PMPro Plus
Add the PMPro meta box to CPTs and redirects non-members to a selected page.
Paid Memberships Pro - Developer's Toolkit - PMPro Plus
Various tools to test and debug Paid Memberships Pro enabled websites.
Paid Memberships Pro - Donations - PMPro Plus
Allow customers to set an additional donation amount at checkout.
Paid Memberships Pro - Download Monitor Integration Add On - PMPro Plus
Require membership for downloads when using the Download Monitor plugin.
Paid Memberships Pro - Email Confirmation Add On - PMPro Plus
Require email confirmation before certain levels are enabled for members.
Paid Memberships Pro - Email Templates Add On - PMPro Plus
Define your own custom PMPro HTML Email Templates.
Paid Memberships Pro - Extra Expiration Warning Emails Add On - PMPro Plus
Send out more than one "membership expiration warning" email to users with PMPro.
Paid Memberships Pro - GetResponse Add On - PMPro Plus
Sync your WordPress users and members with GetResponse campaigns.
Paid Memberships Pro - Gift Levels Add On -PMPro Plus
Some levels will generate discount codes to give to others to use for gift memberships.
Paid Memberships Pro - Group Discount Codes Add On - PMPro Plus
Adds features to PMPro to better manage grouped discount codes or large numbers of discount codes.
Paid Memberships Pro - Infusionsoft Add On - WordPress.org
Sync your WordPress users and members with Infusionsoft contacts.
Paid Memberships Pro - Invite Only Add On - PMPro Plus
Users must have an invite code to sign up for certain levels. Users are given an invite code to share.
Paid Memberships Pro - Kissmetrics Add On - WordPress.org
Integrates your WordPress site with Kissmetrics to track meaningful user data, with or without Paid Memberships Pro.
Paid Memberships Pro - Limit Post Views Add On - PMPro Plus
Integrates with Paid Memberships Pro to limit the number of times non-members can view posts on your site.
Paid Memberships Pro - MailChimp Add On - WordPress.org
Sync your WordPress users and members with MailChimp lists.
This plugin prevents people from sharing their login credentials for your site, which is especially good for paid membership sites.
You can use PM Pro's paid Lightweight Affiliate Tracking plugin.
The plugin creates unique affiliate codes assigned to your affiliate users. When someone visits your site using an affiliate URL (a code is passed to a page as a parameter), the affiliate’s cookie is set for the specified number of days. If a cookie containing an affiliate referral code is present after checkout, the order is logged in the affiliate’s account.
If you don't want to pay for the PM Pro Plus membership in order to set up an affiliate program, you can choose the free Affiliates Manager Paid Membership Pro Integration plugin.
When members pay for membership on your site, this add-on will check to see if the member was referred to your site by an affiliate. It will then give commission to the affiliate who referred the user.
This plugin also has a PayPal mass pay function.
The way it works is very simple:
Unlike PMPro, S2Member has a lot of options.
The first thing you must do is create 2 new pages called:
1- ‘Subscribe’ – This is your Membership Options/Subscribe/Register page. For an online course you can call it "Pricing", "Course Registration" and contains the price list of the different courses you offer with payment buttons. (Click on the link to see what I set up with Thrive Architect.)
2 – ‘Members’ – This is the ‘Login welcome’ page of the members/course area. The Login Welcome Page that you configure with s2Member will serve as a customer’s “My Account” page, or something similar. This makes it possible for a customer to find what they’ve purchased and to locate information associated with their account.
Here is a video that also explains the process:
Once you have done this we can set everything up.
In your dashboard, click S2member>General Options
You will be presented with this screen:
With the free version of this plugin you can add four different paid membership levels plus a free level. Unlimited Membership Levels are only possible with the paid s2Member Pro.
If you set the "Open Registration" option to "Yes", , you're unlocking "/wp-login.php?action=register". When a visitor registers without paying, they'll automatically become a Free Subscriber at Level #0. The s2Member software reserves Level #0; to be used only for Free Subscribers. All other Membership Levels [1-4] require payment.
The plugin also has recurring payment option and the member will be re-billed every cycle until the member cancels their subscription.
The defaults are Bronze Member, Silver, Gold and Platinum, however you can name these according to the titles of the courses you ant to sell.
WordPress adds user roles 's2Member Level #' accordingly.
Security Subscription Key… Encrypts your private membership data to secure against hacking. Click ‘auto generate’ and then copy and paste your unique key into notepad and save it somewhere safe!!
S2member allows us to fully integrate with our PayPal accounts so that everything is handled seamlessly.
However there are a few things you need to set up in S2member and your PayPal account.
If you are using PayPal as a payment option then you will have to fill out all of the required fields. You will need your:
You will have to access your PayPal account to find these details. Once you enter them you will be asked if you want ‘Developer/Sandbox testing. Make sure you select ‘NO’ when your site is live.
Enable Button Encryption… I always select ‘YES”. This will produce encrypted PayPal buttons, which makes it safer for you!
Enable logging routines… Select ‘NO’. If you ever experience any issues then turn this feature on and you can view all of the logs to detect errors!
PayPal IPN Integration… This does not require you to enter any details but you do need to login to your PayPal account and enable your IPN
>Account profile > Instant Payment Notification Preferences > Enter settings and turn IPN ‘ON’
PayPal PDT Identity/Auto-return Integration… Login to your PayPal >Account Profile > Website payment preferences > Make sure the auto-feature is turned ON
You will then be shown a PDT token. You have to enter it
Sign up confirmation email…. This is already pre-filled for you but it allows you to edit the confirmation email that will be sent to your new member after they have completed payment.
This is useful and you should customize it
Automatic EOT behavior… This tells S2member to cancel a members account if they cancel their subscription payment, open a dispute or have a refund.
Go to S2member > PayPal buttons
Fill in the options.
Once you have filled in the options simply hit ‘Generate Button Code’
Copy the code that becomes highlighted and then simply paste this code onto your ‘subscribe’ page that you created earlier.
You can also set up buttons for several levels (courses):
You'll be happy to know that s2Member handles cancellations, expirations, failed payments, terminations (e.g., refunds & charge backs) for you automatically. If you log into your PayPal account and cancel a Member's Subscription, or, if the Member logs into their PayPal account and cancels their own Subscription, s2Member will be notified of these important changes and react accordingly through the PayPal IPN service that runs silently behind-the-scene.
The PayPal IPN service will notify s2Member whenever a Member's payments have been failing and/or whenever a Member's Subscription has expired for any reason. Even refunds & charge back reversals are supported through the IPN service. If you issue a refund to an unhappy Customer through PayPal, s2Member will be notified and the account for that Customer will either be demoted to a Free Subscriber or deleted automatically (based on your configuration). The communication from PayPal → s2Member is seamless.
If a User signs up for a monthly Subscription on Jan 1st, and then cancels their Subscription on Jan 15th; technically, they should still be allowed to access the site for another 15 days, and then on Feb 1st, the time they paid for has completely elapsed. At that time, s2Member will remove their Membership privileges; by either demoting them to a Free Subscriber, or deleting their account from the system (based on your configuration). s2Member also calculates one extra day (24 hours) into its equation, just to make sure access is not removed sooner than a Customer might expect.
WPAM (WP Affiliates Manager) is a free affiliate software that embeds itself right into WordPress. It has a free version.
Affiliate Manager integrates with S2 Member through this plugin.
S2 Member integrates with MailChimp and AWeber.
You can have your Members automatically subscribed to your AWeber or MailChimp email lists (i.e., newsletters / autoresponders). You'll need an AWeber/MailChimp account and your List IDs. You will ALSO need either an API Authorization Code.
This is how the plugin works:
Here is the documentation and a set of videos that walk you through the setup process:
The plugin integrates with MailChimp, AWeber and Convertkit.
If you have a WooCommerce store, you can sell memberships from your store.
If you want to use unusual payment gateways, e. g. for a foreign country, many times WooCommerce is the only solution to implement this if you don't want to pay for a developer. WooCommerce is widespread, lots of plugins got created for it and you can take advantage from this fact. The only drawback is the added complication that comes with setting up a store.
This plugin connects WooCommerce with PM Pro.
Because the two systems are connected, you can accept payment with any system that has a WooCommerce plugin.
Since registration for your online course is done through WordPress, you will more than likely run into the situation where the user signup emails sent by WordPress are not arriving.
I am not going to go into the details of this email delivery problem - it has to do with the method WordPress sends out emails.
What you need to know is that the problem doesn't come from your web host's email service - even when you have no problem sending out emails from your domain email, WordPress notification emails may take hours to arrive or not arrive at all. Obviously this would be disastrous for your business, however it is easy to fix.
After setting this up, your email will arrive in seconds.
You can also use their service for your email marketing needs, their basic plan costs $9.95 /month and allows you to send 40,000 messages/month. They also have very good email deliverability. (Make sure you check out their terms of acceptable use, e. g. you can't send affiliate marketing emails.)
I mentioned that the plugins I recommend have the ability to connect with AWeber, MailChimp, etc.
With the email problem fixed as above, you now also have an alternative way to send out emails with the Newsletter plugin. It also has a very affordable S2 Members extension for $16.99.
If you want to see how an actual WordPress online course looks like, you can check out the demo course I built with the Thrive Apprentice plugin. (I will be releasing my actual course soon.)