C

CAJE Course Builder

0/5 (0 ratings) — active installs Updated Nov 12, 2026
The curriculum screen: drag lessons between weeks.

The curriculum screen: drag lessons between weeks.

CAJE Course Builder is for creators who sell a cohort-style video course without running a cohort. Each student’s schedule starts when they buy: week 1 opens right away, a new week unlocks every 7 days (or whatever interval you choose), and access ends a set number of days after the final week.

Weekly drip, per student

  • Build the curriculum by dragging lessons into weeks.
  • Unlocks happen at a time of day you choose, in your site’s timezone, and stay correct across daylight saving changes.
  • A live summary shows exactly when the last week unlocks and when access ends, e.g. “Week 6 unlocks on day 35. Access ends on day 125.”
  • Locked lessons show their title and unlock date, never their content. Videos are only sent to the page once a student is allowed to watch.

Selling with Stripe

  • New students create an account right on the course page (name, email, password) and go straight to checkout. No confirmation email to dig out first.
  • Stripe’s hosted Checkout: card details never touch your site.
  • Stripe Tax support for sales tax and VAT.
  • The webhook is set up for you when you save your key.
  • Refund from WordPress; access ends when Stripe confirms the refund.
  • Missed webhooks are caught by an hourly check with Stripe.
  • Free courses get an “Enroll for free” button.

Emails students actually need

  • A welcome email, one each time a week unlocks, reminders before access ends (30, 7 and 1 days by default) and one when it ends.
  • Each email goes out once, even if scheduled tasks run late or twice.
  • Sent through wp_mail(), so your SMTP plugin applies. Templates can be overridden in your theme.

Student dashboard

  • A My Courses block and [cajecb_my_courses] shortcode: unlocked weeks, when the next one unlocks, and days of access left.
  • Students land there after logging in.

Set up in minutes

Courses Setup walks you from a fresh install to a test purchase: basics, Stripe, student accounts, emails and your first course, then a checklist of anything still missing.

Video

Embed YouTube or Vimeo videos per lesson. For protected video that can’t be shared, the separate Pro add-on adds Bunny Stream uploads from the lesson editor with signed, expiring player links.

For developers

  • WP-CLI: wp cajecb enroll --student=…, wp cajecb status --student=… --now=… to see any student’s access on any date, and wp cajecb sweep --now=… to walk a schedule without waiting. --student is the student; WP-CLI already uses --user for the account that runs the command.
  • Hooks for gateways, video providers, features, merge tags and email content.
  • Theme-overridable templates in caje-course-builder/.
  • The screens in build/ are compiled. The readable source is included in src/.

Privacy and external services

This plugin stores, in your WordPress database: enrollments (user, course, dates and status), orders (user, course, amount, tax, currency, status and the Stripe Checkout Session and payment IDs) and a log of which course emails each student was sent. It adds suggested text to your privacy policy, supports WordPress’s personal data export and erasure tools, and removes a user’s enrollments when the user is deleted. Orders are kept as sales records.

It connects to these services:

Stripe (payments), only after you add a Stripe secret key:

  • When a logged-in buyer clicks Buy, the plugin creates a Checkout Session at api.stripe.com, sending the course name, price, currency, the buyer’s email address and WordPress user ID, and your site’s address. The buyer then pays on checkout.stripe.com.
  • When you save your key, or check the connection, it creates or checks the webhook endpoint for your site and reads your Stripe Tax status.
  • Hourly, it asks Stripe for Checkout Sessions from the last 72 hours to catch any payment whose webhook didn’t arrive.
  • When you click Refund, it creates a refund for that payment.
  • Stripe’s Services Agreement and Privacy Policy.

YouTube and Vimeo (video embeds), only on lessons you’ve given a YouTube or Vimeo link, and only for students allowed to watch them: the student’s browser loads the player from www.youtube-nocookie.com or player.vimeo.com (with Vimeo’s “do not track” option). YouTube’s Terms and Google’s Privacy Policy; Vimeo’s Terms and Privacy Policy.

The plugin makes no other external requests, and sends no usage data.

Credits

The curriculum screen’s drag and drop uses dnd kit (MIT license).