Lesson Content
Lesson Content
Renders the body of the current lesson — whatever was written in the lesson's WordPress editor — inside an Elementor widget you can align, colour and split into columns. While the lesson is drip-locked it renders a replacement message of your choosing instead.
Usage
Lesson template — Place it in a lesson template built with Elementor's Theme Builder so every lesson's editor content appears in the same spot with the same styling; see How to Build a Lesson Template. Add Lesson Video or Lesson Audio above it and Mark Complete Lesson plus Lesson Navigation below it.
Drip-locked lessons — Use the Content To Show editor to tell students when the lesson opens. It accepts dynamic tags and shortcodes, so you can insert the Lesson Drip Countdown tag to show a live countdown to the release date.
Text inside another layout — If you only need the lesson text as a value (for example inside an Elementor Text Editor widget with its own styling), use the Lesson Content dynamic tag instead of this widget.
How it works
The widget reads the lesson from the page being viewed and needs no configuration.
| Situation | Behaviour |
|---|---|
| Lesson is available (no drip schedule, or the drip date has passed) | Renders the lesson's editor content. Block-editor content is rendered block by block, skipping any LifterLMS blocks (syllabus, continue button, progress bar, pricing table, instructors, course information, lesson progression, lesson navigation) so they do not double up with the equivalent Lifter Elements widgets. Classic-editor content is output as written. Shortcodes in either kind of content run. |
| Lesson is drip-locked (release date still in the future) | Renders the Content To Show text instead, wrapped in a le-drip-content-show div. Dynamic tags and shortcodes in that text run. |
| Visitor can bypass LifterLMS restrictions (administrators, or roles granted Unrestricted Preview Access in LifterLMS > Settings > General) | Drip is ignored and the lesson content always renders. |
| Lesson has no editor content | Renders nothing on the front end. In the Elementor editor it shows a notice and placeholder text so you can still style the widget. |
| Widget is not on a lesson page | Renders nothing on the front end (placeholder text in the editor). |
The widget does not check enrollment on its own: a visitor who reaches the lesson page sees its content whether or not they are enrolled. Access to the page itself is governed by LifterLMS's restriction settings, which normally redirect non-enrolled visitors before this widget runs. To hide or swap the widget for specific visitors, use the Conditional Logic section on its Advanced tab.
Drip is computed from the lesson's LifterLMS Drip Settings: a fixed date and time, days after the course start date (only when the course has a time period set), days after the student's enrollment, or days after a prerequisite lesson is completed. When the schedule cannot be computed for the current visitor — an enrollment-based drip for someone not enrolled, or a prerequisite-based drip whose prerequisite is not yet complete — the widget treats the lesson as available and renders the content.
Settings
Content — Lesson Drip Restriction
| Setting | Description |
|---|---|
| Content To Show | Rich-text editor for what renders in place of the lesson content while the lesson is drip-locked. Accepts dynamic tags and shortcodes. Default: Lesson content is restricted by Drip time in future. |
Style — Text
| Setting | Description |
|---|---|
| Alignment | Text alignment of the content: Left, Center, Right or Justified. Responsive. |
| Text Color | Colour of the content text. Defaults to the site's global Text colour. |
| Typography | Font family, size, weight, line height and spacing for the content. Defaults to the site's global Text typography. |
| Columns | Splits the content into 1–10 CSS columns; Default keeps a single flow. Responsive. |
| Columns Gap | Space between those columns, in px, %, em or vw. Responsive. |
Advanced
The Advanced tab holds Elementor's own layout, motion, responsive and custom-CSS controls — see Elementor's documentation. Lifter Elements adds one section, Conditional Logic, which shows or hides this widget by the visitor's LifterLMS status — see the Conditional Logic reference.
Notes
- The Style controls apply to the lesson content only; the drip-locked Content To Show text is not styled by them beyond what it inherits.
- Because LifterLMS blocks are stripped from the output, add the matching Lifter Elements widgets (Course Syllabus, Lesson Navigation and so on) to the template if you need them.
- Related: Course Content (same widget for course pages), Lesson Content dynamic tag, Lesson drip tags.