Online Course Plugin for WordPress: Thrive Apprentice Tutorial

By Peter Nyiri | Thrive Themes

Sep 30

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.)

The WordPress Plugins Needed for Your Courses

Thrive Apprentice

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.

Thrive Architect

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.

Paid Membership Pro - S2Member - Simple Membership (free)

You can choose from these membership plugins. This is what you are going to use for selling and collecting payments for your course.

Your Online Course WordPress Theme

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.

How To Create An Online Course With WordPress

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:

Template Setup

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.

Thrive apprentice dashboard

Go to Settings>General 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.

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.

Logged on users only

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.

edit lesson

To add the actual lesson content, click Edit with Architect. This will open Thrive Architect for adding/editing your lesson content.

Add lessons

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:

Index page

Apprentice Course Page Isn't Showing Up

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.

  1. The browser cache or your hosting cache needs to be purged
  2. Plugin conflict

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.

Creating A Sales Page For Your Course

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.

Course sales page creation

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.

Click here to see the Know-How sales page demo and the sales page I created for Your First 10,000 Visitors course.

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.

Adding Membership & Sales Features To Your Online Course

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.

Online Course With Paid Membership Pro Plugin

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.

Install the Paid Memberships Pro plugin, then PMP Roles.

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.

PM Pro Roles

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:

  • Account Page
  • Billing Information Page
  • Cancel Page
  • Checkout Page
  • Confirmation Page
  • Invoice Page
  • Levels Page

Payment Gateway & SSL Settings

PayPal, Stripe,, 2checkout, Braintree, check and Cybersource are supported, plus there is a test setting.

Email Settings

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.

Additional Menu Points

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 -
A tweak of the code by Yoast to hide the admin bar for non-admins only.

Import Users from CSV -
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 -
Sync your WordPress users and members with AWeber lists.

Paid Memberships Pro - bbPress Add On -
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 -
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 -
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 -
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 -
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 -
Sync your WordPress users and members with MailChimp lists.

WP Bouncer (free)

This plugin prevents people from sharing their login credentials for your site, which is especially good for paid membership sites.

Affiliate Management

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:

  1. Download and Install the Paid Memberships Pro Integration add-on.
  2. Simply keep the Affiliates Manager and the Paid Memberships Pro plugins active in your WordPress site.

Online Course Using S2Member Plugin

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.

How to install S2 Member and create a custom login screen

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:

S2 Member settings

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!!

The Registration Process

  1. Users will go to your Membership Options Page (which you may configure; see: Dashboard → s2Member → General Options → Membership Options Page). On this Membership Options Page (that you create in WordPress) you'll insert the PayPal Subscription Buttons that were generated for you by s2Member.
  2. A User will click on a PayPal Subscription Button from your Membership Options Page. They will be transferred over to PayPal in order to agree to your Membership terms and pricing. You can customize the Checkout Page Style, Pricing, Payment Periods, and more, whenever you generate your PayPal Buttons through s2Member.
  3. Once a User has completed the Subscription Signup Process at PayPal, they'll be returned to your site, where they'll be activated by s2Member instantly, and given the opportunity to register a Username & Password for their Membership. (Note: they'll be allowed to register a Username & Password even if you've set 'Anyone Can Register' to `Off` in your General WordPress options, because s2Member identifies the User as having paid for Membership access through PayPal).
    s2Member will also send the User an email with instructions on how to register their Username & Password, just in case they missed anything after checkout. That email will be sent to their PayPal email address. Much of this is handled through the PayPal IPN service behind-the-scenes, where PayPal and s2Member communicate with each other.
  4. Once a User has completed checkout and registered a Username & Password, they'll be able to log in. The first page they'll see after logging in will be your Login Welcome Page (which you'll need to configure in the s2Member General Options panel). Your Login Welcome Page can contain whatever you like. You can design this Page in WordPress.

Set Up PayPal Payment Options

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.

S2 PayPal config

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:

  • PayPal merchant ID
  • Your PayPal email address
  • Your PayPal API username ( In PayPal click >Profile >API ACCESS)
  • Your PayPal API password
  • Your PayPal API signature

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.

Setting Up Your Payment Buttons

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):

S2 PayPal buttons


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.

Affiliate Program Integration

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.

Email Marketing Integration

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.

Simple Membership Plugin

This is how the plugin works:

  1. Visitors click on the Join Us link, which takes them to the "Join Us" Page which contains all the different types of memberships you offer on your site.
  2. On this page, they decide which membership they want (Free, Premium, Gold, etc.)
  3. If they choose the free Membership, they click on the link that takes them to the registration page (if you allow free membership).
  4. If they click on the Paid Membership button, they make a payment for the appropriate membership access level.
    Once the payment is confirmed, the plugin will create the appropriate membership account.
  5. The member will receive an email that contains a special link to complete the registration.
  6. When the member clicks on that special link in the email it will bring them to the registration page and let them choose a “username” and “password” for their account.

Here is the documentation and a set of videos that walk you through the setup process:

How to Install The Simple Membership Plugin

Create a Free Membership Level

Create a Paid Membership Level

Create a Subscription Membership Level

How to Protect Content

The plugin integrates with MailChimp, AWeber and Convertkit.

Affiliate Management

Affiliates Manager Simple Membership Integration allows you to integrate Simple Membership plugin with the Affiliates Manager plugin. Read the usage documentation here.

WooCommerce (optional)

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.

Paid Memberships Pro - WooCommerce Add-On (free, optional)

This plugin connects WooCommerce with PM Pro.

Various WooCommerce Payment Gateway Plugins (optional)

Because the two systems are connected, you can accept payment with any system that has a WooCommerce plugin.

Fixing the WordPress Not Sending Email Problem

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.

  1. Get a free SocketLabs account, which gives you up to 20,000 free emails per month.
  2. Verify your email address with them.
  3. Open the email you get right after this and click on the link inside to provide basic information on your business, without that your account will not get activated.
  4. Install the SocketLabs WordPress plugin, which will help you send your emails through their service.
  5. Enter your Server ID and API key.

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.)

Adding Email Marketing To Your Online Course

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.)


About the Author

I'm building my 5-figure blog and sales funnel and help other bloggers do the same. You are welcome to join and learn from my experience and mistakes! Are you ready for this?

Leave a Comment:

(9) comments

Stacey October 9, 2018

I’ve thinking about doing either an ebook or online vourse so Thank you. This is useful information I hope to use later.

Sarah Bailey October 9, 2018

I have to admit I’ve not heard of this plugin before but it sounds like a great way to help build the pages of a website.

lili October 9, 2018

Thanks for these tips. I have been wanting to start a mental health online course. This will definitely come in handy since I use WordPress.

Betzy Cuellar October 10, 2018

Thank you for the useful tips. I am sure they will be useful in the future.

Ola @ WanderWithOla October 10, 2018

Wow, this is such an interesting read, full with really detailed information. It will be really helpful for those who wants to build an online course. Thank you for sharing this!

Monidipa Dutta October 10, 2018

It used to be that if you wanted to teach something, you’d have to do it in person. Now you can learn anything, or teach anything, online.

If you want to create and sell courses online (or offer them free of charge), learning management systems (LMS) can help. One option for creating an easy to use LMS is through WordPress plugins. WordPress plugins allow users to customize many aspects of their site, even course management.

Jenn @ EngineerMommy October 10, 2018

This plugin sounds like an awesome solution. I have thought about creating an online course before. This would be a great way to do that.

Fran Jorgensen October 10, 2018

I was recently looking for platforms and ways to build a course online, so this blog post comes in really handy! Thank you for sharing your knowledge!

Echo October 10, 2018

This is such an amazing walk-through! Thank you so much for sharing your knowledge!

Add Your Reply

Leave a Comment:

%d bloggers like this: