Sensei Content Drip

Installing the Extension


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.


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


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.


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:


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.


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:


To change the date format you can use this filter:

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