Course Enrollments

Course enrollments are managed in Sensei LMS > Learner Management. When a learner is enrolled in a course, it means that the course is listed on their My Courses page, and they are able to view lessons and take quizzes:

How do I enroll a learner in a course?

When someone purchases a course, they are automatically enrolled in it. However, there may be times when you would like to enroll a learner in a course regardless of whether or not they have purchased it.

You can do this by navigating to Sensei LMS > Learner Management, clicking Manager learners for the applicable course, scrolling down to the Add Learner to Course section, searching for the learner, and clicking the Add to… button. The learner is now manually enrolled in the course.

How do I remove a learner from a course?

The steps for removing a learner from a course will depend on how they were enrolled in the first place:

Manual Enrollment

If a learner was manually enrolled in a course, they can be removed by locating the course and learner in Learner Management, and clicking the Remove manual enrollment button.

Simple / Variable Product

If a learner was enrolled in a course because they purchased a simple or variable product, they can be removed by changing the status of their order to Pending payment, On hold, Cancelled, Refunded or Failed, or by moving their order to the trash.

Simple / Variable Subscription Product

If a learner was enrolled in a course because they purchased a simple or variable subscription product, they can be removed by changing the status of their subscription to On hold, Cancelled or Expired, or by moving their subscription to the trash.

Alternatively, changing the status of their order to On hold or Failed, or moving their order to the trash, will also remove them from the course.

Membership

Manual Assignment / User Account Registration

For memberships that grant access upon manual assignment or user account registration, learners can be removed from a course by changing the status of their membership to Paused, Expired or Cancelled, or by moving their membership to the trash.

Product(s) Purchase

For memberships that grant access upon product(s) purchase, learners can be removed from a course by changing the status of their membership to Paused, Expired or Cancelled, or by moving their membership to the trash.

If the product is a subscription, changing the status of the learner’s subscription to On hold, Cancelled or Expired, or moving their subscription to the trash, will also remove them from the course. Please note that if the membership length is set to unlimited, then changing the subscription status to Expired will have no effect on enrollment.

Alternatively, changing the status of the learner’s order to Refunded, or moving their order to the trash, will also remove them from the course.

Selling Courses as a Membership

WooCommerce Paid Courses integrates with WooCommerce Memberships, enabling you to sell courses as part of a membership.

Selling a Course as a Membership

To sell a course as a membership, ensure that both WooCommerce and WooCommerce Memberships are installed and activated. Then follow these steps:

  1. Create a membership plan.
  2. Ensure that Grant access upon is set to product(s) purchase on the General tab, and that one or more products are entered in the Products field.
  3. On the Restrict Content tab, click the Add New Rule button.
  4. Select Courses from the dropdown, then search for and select the course(s) you’d like to include in the membership. (Alternatively, you can add a Course Categories rule and select one or more course categories. All courses with those categories will be included in the membership.)
  5. Click Publish.

Site visitors will now be required to purchase one of the products associated with the membership in order to view course content.

Preventing Conflicts with Course Access

When a course has a product attached via the Products metabox on the Edit Course page, and that same product is also being used to sell the same course in a membership, it can create a conflict with course access. This is because both Sensei LMS and WooCommerce Memberships are each vying for control – Sensei LMS because the product is attached directly to the course, and WooCommerce Memberships because the product is attached to a course membership.

To protect against this, a warning will appear on the Edit Course and Edit Membership Plan pages when this situation is detected:

Notice on Edit Membership Plan page

In order to resolve this, you can choose to either:

  • Remove the product from the membership (in the screenshot above, the product is called Simple Product) OR
  • Remove the product from the course

You can, of course, select a different product to use to sell the membership or course.

Selling Courses as a Subscription

WooCommerce Paid Courses integrates with WooCommerce Subscriptions, enabling you to accept recurring payments for continued access to your course(s).

Selling a Course as a Subscription

To sell a course as a subscription, ensure that both WooCommerce and WooCommerce Subscriptions are installed and activated. Then follow these steps to create a subscription product:

  1. Go to Products > Add New.
  2. Add some product details including a title and description.
  3. In the Product data meta box that appears below the editor, select Simple subscription from the Product Type dropdown. (Note that you can also create a Variable subscription product as described here.)
  4. Select the Virtual checkbox (this will remove shipping information at checkout).
  5. Set the terms for the subscription including price, billing interval, billing period, length, sign-up fee and trial period (length, sign-up fee and trial period are all optional).
  6. Add a product short description. (This will be displayed on the product card when multiple products are attached to a course.)
  7. Click Save Draft or Publish the product.
  8. Repeat these steps for any additional subscription products.

Configuring a simple subscription product

Next, you’ll need to associate the product with the course(s) you’d like to sell as a subscription:

  1. Go to Courses > All Courses and click on the course you would like to attach to your new subscription product.
  2. Click on the Sensei LMS icon in the top right of the screen to open the sidebar.
  3. Select one or more products to link to the course.
  4. Click Update to save.

Site visitors will be required to purchase the course in order to view its content.

Congratulations! You are now ready to accept recurring course payments – revenue you can count on!

Getting Started with WooCommerce Paid Courses

Are you ready to sell your first course with WooCommerce Paid Courses? This document will help you get started.

How do I install WooCommerce Paid Courses?

  1. Download the WooCommerce Paid Courses file from your WooCommerce account.
  2. Go to Plugins > Add New.
  3. Click on Upload Plugin and then on Choose File.
  4. Browse to the location of the woothemes-sensei.zip file that you just downloaded.
  5. Click Install Now.
  6. Click Activate Plugin.

Congratulations! You’re now ready to sell courses with WooCommerce!

How do I update WooCommerce Paid Courses?

To receive updates and support for WooCommerce Paid Courses, you will need to connect your site to your WooCommerce.com Subscriptions. Once a connection has been established, updates for WooCommerce Paid Courses will be made available to your site for as long as the original subscription remains active.

I completed the setup process, now what?

To begin selling standalone courses with WooCommerce Paid Courses, you’ll need to link a course with a WooCommerce product.

If you’d like to accept recurring payments and easily predict the revenue you’ll receive, you can sell your courses as part of a subscription.

If you’d like to ensure your course content is only accessible to paying members, you can sell your courses as part of a membership.

I need more help! What should I do?

If you’re having trouble with WooCommerce Paid Courses, there are a couple of options available to you:

WooCommerce Paid Courses FAQ

Looking for answers about WooCommerce Paid Courses? This document should help.

What is WooCommerce Paid Courses?

WooCommerce Paid Courses is a paid extension for Sensei LMS that enables you to sell online courses with WooCommerce. It requires Sensei LMS to be installed and activated.

What is Sensei with WooCommerce Paid Courses?

Sensei with WooCommerce Paid Courses is a bundle of two separate plugins — Sensei LMS and WooCommerce Paid Courses. Because Sensei LMS comes pre-bundled, Sensei with WooCommerce Paid Courses does not require Sensei LMS to be installed separately (but it will still work if it is).

What Are the Requirements for Using These Plugins?

Both WooCommerce Paid Courses and Sensei with WooCommerce Paid Courses require:

  • PHP 5.6+
  • WordPress 4.9+
  • WooCommerce 3.0+ in order to sell courses and receive product updates

WordPress.org has more information on how to update your site’s version of PHP.

Do I Need WooCommerce Paid Courses?

If you’re not selling courses, we recommend that you install Sensei LMS from the WordPress.org directory instead.  WooCommerce Paid Courses is only necessary if you would like to sell your courses with WooCommerce, WooCommerce Memberships or WooCommerce Subscriptions. (Please note that WooCommerce Paid Courses does not include these third party plugins. You will need to purchase/install them separately.)

How Do I Switch to the Free Version?

If you decide to use the version of Sensei LMS that is on WordPress.org, you will need to update any Sensei extensions you may already have installed to version 2.0.0 or higher. Older versions of extensions are not compatible with the version of Sensei LMS that is on WordPress.org.

You will also need to ensure that the Delete data on uninstall setting in Sensei LMS > Settings is NOT checked before deleting WooCommerce Paid Courses or Sensei with WooCommerce Paid Courses. Otherwise, your course data would be deleted when the plugin is uninstalled. To be extra safe, consider backing up your site before uninstalling.

Extensions

Sensei has a selection of extensions to complement your WordPress Learning Management System experience:

  • WooCommerce Paid Courses – Sell your online courses with WooCommerce.
  • Content Drip – Keep control of the learning pace of your students by releasing course content at regular intervals.
  • Course Progress – Help your students see, at a glance, which lessons they have completed and which they have yet to take.
  • Certificates – Award your students with a certificate of completion once they finish a course.
  • Media Attachments – Attach supplementary material as media files to courses and lessons that your students can download.
  • Course Participants – Show your site visitors how many students are currently taking each course.
  • Share Your Grade – Allow your students to share their progress on social networks after completing a lesson or course.

The following extension is deprecated and no longer supported:

  • Sensei BadgeOS –  Let learners earn achievements and badges from every course, lesson and quiz activity.

 

Sensei Content Drip

Installing the Extension

Overview

The Sensei Content Drip extension allows you to “drip” your course content to your learners, based on a fixed schedule, so you can control the pace at which learners progress through the course material.

Setting your Content Drip options

There are two different ways you can drip your content.

  1. Based on the date the learner starts the course. e.g. Learner starts the course. Lesson 1 is available immediately. Lesson 2 is available 1 week later, and so on.
  2. Based on a fixed start date. e.g. Lesson 1 is available from 1st September, Lesson 2 from the 8th September, and so on.

Dripping content based on the date the learner starts the course

To use this method, you should first decide how many lessons will be available to the learner as soon as they start the course.

Say you want only Lesson 1 to be available immediately, and each subsequent lesson to become available after 1 week intervals.

  • Lesson 1 would be published as normal. The ‘Sensei Content Drip’ panel can be left blank.
  • Then you would edit Lesson 2, and in the ‘Sensei Content Drip’ panel, where it says “When should this lesson become available?” select A specific interval after the course start date.
  • (If you haven’t assigned the lesson to a course yet, you’ll need to do that and save the lesson before continuing).
  • Then select the time interval for this lesson – (e.g. choose Week(s) and enter a 1 in the text field).
  • Finish editing your lesson and click Publish/Update
  • Repeat the process for Lesson 3, setting the interval to 2 weeks instead of 1.

interval

You would then do the same for Lesson 4, Lesson 5 and the rest of your lessons, increasing the interval for each lesson by a week (this interval can vary if you want, or you can keep it consistent for each lesson.)

Dripping content based on a fixed start date

This method can be used if you are running a “live” online course, where you want your learners to take the course all at the same time, over a specific period of time.

For example, say you want your course to begin with Lesson 1 on 1st September, and each subsequent lesson to become available after 1 week intervals.

  • Edit Lesson 1, and in the ‘Sensei Content Drip’ panel, where it says “When should this lesson become available?” select On a specific date.
  • Then enter the start date for this lesson in the format dd/mm/yyyy, e.g. 01/09/2014 (or click the arrow to select the date from a calendar).
  • Finish editing and save/publish the lesson
  • Then do the same for lesson 2. Here you can either enter a fixed date again, e.g. 08/09/2014, or you can select A specific interval after the course start date, (recommended*) and set it to be dripped 1 week after Lesson 1 (this will result in the same schedule since Lesson 1 is available on a fixed date).

fixed

The advantage of setting only your first lesson to a fixed date, and dripping the subsequent lessons based on an interval after the start date, is that if you want to offer the same course again in future, you only need to change the date of the first lesson and the content drip schedule will still be set accordingly for the subsequent lessons.

Reviewing the drip schedule

If you lose track of the drip schedule for the lessons in a course, it’s easy to see the schedule by visiting Lessons > All Lessons.

Just filter the list to show only the lessons from the course you want, and then you can see the drip schedule in the Drip Schedule column:

Content Drip Schedule
The drip schedule in Lessons > All Lessons

Overriding the Content Drip Schedule

You can override the content drip schedule if you want to give a user access to any lesson before it is scheduled to become available for them.

  • Go to Sensei > Learner Management
  • Click ‘Manage Learners’ on the relevant course.
  • In the Manual Content Drip panel, select your desired user.
  • Then select the lesson you want to give them access to.

manual

If a learner has already been given access to a lesson, when you select that learner and that lesson, the ‘Give Access’ button will change to ‘Remove Access’.

The User Experience

When a user starts a course that uses Content Drip, they will be able to access any lessons that are set to become available “as soon as the course is started”.

For any lessons restricted by the Content Drip schedule, users will see a notice telling them when the lesson will become available to them:

drip-notice

As soon as the drip interval has passed, the learner will then be able to access the lesson as normal.

Learners will also receive an email notification on any day that a lesson is due to become available. The email will list all lessons that will be available that day.

Lessons become available at 00:00 on the date they are due, so for example, if they started the course at 11:30 on Monday, and the interval is set to 1 week, then the next lesson will become available at 00:00 the following Monday.

Content Drip Settings

If you go to Sensei > Settings you will see an additional submenu for Content Drip with several settings:

  • Drip Message – Here you can customize the message shown instead of the lesson content, on any lessons that aren’t yet available. You can use the [date] shortcode to insert the date that the lesson will become available.
  • Email before lessons – Here you can customize the message in the content drip notification email for lessons that will become available today.
  • Email footer – Here you can customize the text in the email footer. You can use the [home_url] shortcode to insert a link to your homepage.

Hooks & Filters

Developers can make use of the following filters in their themes/plugins:

sensei_content_drip_lesson_message – Filter to change or alter the message a user will see when content has not been dripped yet. Parameters passed: $drip_message

scd_is_drip_active – Manually override the is_drip_active check. The value tells us if a drip is active on the given lesson. Parameters passed: boolean $dripped , int $lesson_id .

scd_drip_message_date_format Change the date shortcode [date] the user will see when the lesson is has not been dripped yet. Parameter passed : string $date_format (php date format ‘l jS F Y’)

plugin_locale – Filter to change the pugin locale. Parameters passed: string $locale , string $plugin_domain.

FAQs

Can you give learners manual access to lessons?

Yes, The plugin allows you to give manual access under Sensei > Learner Management

What happens when a lesson drips?

The plugin is stateless in that it doesn’t have any events when a lesson drips. However when a user checks the lesson the drip settings will be checked to see if a user is allowed access. When the time has passed, according to the settings, the user will be granted access. The same happens for the daily emails. All lessons and users are checked to confirm if the lessons are dripping.

Does it use GMT /UTC for time?

It uses the server time, which varies depending on your server location.

How is access granted?

Access is granted by confirming the lesson drip settings and then verifying whether the user qualifies to gain access.

How do the Cron jobs work?

Cron jobs run every day at the time the plugin was installed. On installation, the Cron job gets added with the current server time. We use the WordPress cron job API, which depends on your site being visited before it will run.

What happens when a subscription is cancelled?

If you’re using WooCommerce Subscriptions and the subscription is cancelled, the data stored for Sensei will remain intact. The Drip data will also remain intact. If the subscription is reactivated, it will be as if they’ve never left. In the time that has passed some lessons may have become available to the user. Once they regain access to their courses, the lessons dripped during their time away will become available immediately.

Date Formatting

The date function is formatted using this WordPress function:

date_i18n

To change the date format you can use this filter:

apply_filters( 'date_i18n', $j, $req_format, $i, $gmt );

Sensei Share Your Grade

Installing the Extension

Using the Extension

Once installed and activated, Sensei Share Your Grade will add a sharing panel to the end of any lesson or quiz your learner has passed:

Sensei Share Your Grade
Sensei Share Your Grade

It will also add the panel to the course results page of any course that has been completed.

Sharing Buttons

Buttons are provided for sharing on Twitter, Facebook, Google+ and LinkedIn.

The Tweet button will create a prepopulated tweet, detailing the lesson completed along with the grade, and a link to the course.

The other buttons simply share a link to the course page, so your learners have to provide their own sharing message if they want to tell people what grade they achieved.

Settings

There are no settings for this extension

Troubleshooting

If you are testing your site in a local environment, the buttons may not work as expected. Please test them on a live site before submitting a support ticket.

Sensei Course Participants

Installing the Extension

Using the Extension

The Sensei Course Participants extension shows visitors how many people are currently taking a course.

Once installed and activated, you will see a message on course archive pages and single course pages displaying the current number of learners taking the course:

Course Participants
See at a glance how many learners are taking a course

There is also a Sensei Course Participants widget you can add to any widget area, via Appearance > Widgets.

Sensei Course Participants
Sensei Course Participants widget

The widget will display on course, lesson and quiz pages, and will show the display names of all learners taking the current course.

If your site has public learner profiles enabled, the names will also link to the learner profiles.

The widget will also display the learners’ gravatar image if they have one.

Widget Settings

All of the settings for this extension are within the widget itself. You can set a custom widget title, and change the image size and the order of the learners.

You can also set a limit on the number of learners displayed initially, and then the rest of the learners can be shown with a ‘view all’ link at the bottom of the widget.

Finally you can choose to display the learners as a list (with names) or as a grid of images (without names).

Sensei Course Progress

Installing the Extension

Using the Widget

The Sensei Course Progress extension is a simple widget you can add to your sidebar to display your learners’ current progress within a course.

To add the widget to your site, go to Appearance > Widgets, and drag the Sensei – Course Progress widget from the left, to any of your widget areas on the right. (The widget works best in a sidebar so it displays alongside your lesson content).

The widget will only display on lesson and quiz pages, and will show learners all the lessons in the current course. It will also indicate which lesson they are currently viewing, and which lessons they have already completed:

Sensei Course Progress
The Sensei Course Progress sidebar widget in action

There are no settings for this extension.