Skip to main content

Course Dynamic Tags

Course Dynamic Tags

These tags appear under the LifterElements: Course group in Elementor's dynamic tag picker. They read from the current course — on a course page, or on a lesson page, where the lesson's parent course is resolved automatically. Outside those two contexts they return nothing.

The LifterElements: Course group in the Elementor dynamic tag picker, with Course Title selected

How to apply a dynamic tag

Click the Dynamic Tags icon next to a control that supports it, then pick the tag from the LifterElements: Course group. Which tags are offered depends on the control: Text tags appear on text, textarea, and rich-text controls (a Heading title, a Text Editor, a Button label); URL tags appear on link controls (a Button link, a Video source); the Image tag appears on image controls (the Image widget, a background image). Tags that have settings show a small wrench icon after they are applied — click it to open them. For the mechanics of dynamic content in general, see Elementor's dynamic content help.

Course Title

Returns the course title.

Type: Text · Source: the course's title in the course editor · Settings: none

Course Content

Returns the course description as written in the block editor, with any LifterLMS blocks (syllabus, pricing table, and so on) removed so only your own content is returned.

Type: Text (HTML) · Source: the course editor's main content area · Settings: none

Use it when — a lesson template should repeat the course overview. Do not bind it inside the course's own content — it would render itself.

Course Categories

Returns the course's categories as a comma-separated list of links to each category archive.

Type: Text (HTML) · Source: the Course Categories panel in the course editor sidebar · Settings: none

Course Tracks

Returns the course's tracks as a comma-separated list of links to each track archive. Empty if the course is not assigned to a track.

Type: Text (HTML) · Source: the Tracks panel in the course editor sidebar (tracks are created under LifterLMS > Course Tracks) · Settings: none

Course Difficulty

Returns the difficulty level set for the course. Empty if none is set.

Type: Text · Source: the Difficulty setting in the course editor · Settings: none

Course Estimated Time

Returns the Course Length value — the free-text estimate the course author entered, such as "4 weeks". Empty if none is set.

Type: Text · Source: Course Options > Course Length · Settings: none

Course Lesson Count

Returns the total number of lessons in the course, across all sections, as a bare number such as 12.

Type: Text · Source: calculated from the course's syllabus · Settings: none

Course Info

Returns one structured course setting chosen in the tag's settings — an enrollment date, a capacity value, a restriction message, and so on.

Type: Text · Source: the Course Options meta box (restriction, enrollment, and capacity fields) · Settings: Field, Date format, Custom date format

SettingDescription
FieldWhich setting to return. Options: Capacity, Capacity message, Content restricted message, Course closed message, Course opens message, Enable capacity, Enrollment closed message, Enrollment end date, Enrollment opens message, Enrollment period, Enrollment start date, End date, Has prerequisite, Prerequisite, Prerequisite track, Start date (default), Length, Time period.
Date formatShown only for the four date fields (Enrollment start date, Enrollment end date, Start date, End date). Options: Y-m-d (default), F j, Y, m.d.y, j, n, Y, D M j G, or Custom format.
Custom date formatShown when Date format is set to Custom format. A PHP date format string, for example d/m/Y.

Use it when — a course header needs a specific enrollment or schedule value ("Enrollment closes March 31") rather than the free-text length or the prose description.

Returns the course's featured image. Returns nothing if the course has no featured image.

Type: Image · Source: the Featured image panel in the course editor sidebar · Settings: none

Course Audio

Returns the URL of the course's audio embed. Empty if none is set.

Type: URL · Source: Course Options > Audio Embed URL · Settings: none

Course Video

Returns the URL of the course's video embed. Empty if none is set.

Type: URL · Source: Course Options > Video Embed URL · Settings: none

Use the two media URL tags when — you want the course's audio or video in a player of your choosing (an Elementor Video widget's source, or a Button link) instead of the Lifter Elements Course Video and Course Audio widgets.

Course Progress

Returns the logged-in student's progress through the course, either as a percentage or as a lesson count.

Type: Text · Source: calculated from the student's completed lessons · Settings: Type

SettingDescription
TypePercentage (default) returns the progress with the % sign, for example 45%; 0% for students who have not started and for logged-out visitors. Steps returns completed lessons over total lessons, for example 3 / 12.

Use it when — writing progress into copy ("You're 45% of the way through"). For a visual bar, use the Course Progress widget instead.

LifterLMS lets a course have several access plans, each with a Visibility setting. The five featured-plan tags read from the first plan marked Featured, in the order the plans appear in the course editor. All five read from Course Options > Access Plans.

Use them when — you curate one headline plan per course by marking it Featured and want its name, price, or checkout link on a Heading, Text Editor, or Button. Choose the first-plan tags (below) when courses have a single plan or you always want whichever plan is listed first.

Featured-plan tags return nothing when no plan is Featured

If none of the course's access plans has its Visibility set to Featured, all five tags are empty.

Returns the plan's name.

Type: Text · Source: the plan's Plan Title · Settings: none

Returns the plan's price with currency symbol. If the plan is on sale, the sale price is returned instead. A free plan returns the word FREE.

Type: Text (HTML) · Source: the plan's Price (and Sale Price, if on sale) · Settings: none

The regular price is wrapped in LifterLMS's price markup (<span class="lifterlms-price">…</span>), so it picks up your theme's price styling; a sale price is returned as plain text such as $80.

Returns the plan's billing frequency as LifterLMS displays it — for example per month for 12 total payments for a subscription. Empty for a one-time payment plan.

Type: Text · Source: the plan's Frequency · Settings: none

Returns the plan's Enroll Button Text — the label LifterLMS puts on the plan's enroll button. Returns Enroll when the plan has no custom text.

Type: Text · Source: the plan's Enroll Button Text · Settings: none

Returns the plan's checkout URL, so you can build your own enroll button.

Type: URL · Source: the plan's checkout link, generated by LifterLMS · Settings: none

First plan tags

The five first-plan tags work exactly like their featured-plan counterparts, but read from the first access plan in the course editor's order regardless of its Visibility setting. They return nothing if the course has no access plans.

Course First Plan Name

Type: Text · Source: the plan's Plan Title · Settings: none

Course First Plan Price

Returns the price with currency symbol; the sale price if the plan is on sale; FREE for a free plan. Same markup as the featured-plan version.

Type: Text (HTML) · Source: the plan's Price (and Sale Price, if on sale) · Settings: none

Course First Plan Frequency

Empty for a one-time payment plan.

Type: Text · Source: the plan's Frequency · Settings: none

Course First Plan Enroll Text

Returns Enroll when the plan has no custom text.

Type: Text · Source: the plan's Enroll Button Text · Settings: none

Course First Plan URL

Returns the plan's checkout URL.

Type: URL · Source: the plan's checkout link, generated by LifterLMS · Settings: none

Notes

  • Every course tag has an equivalent shortcode for use outside Elementor — in the block editor, theme widgets, or other page builders.
  • The two plan-ID values (le-courses-featured-plan-ID, le-courses-plan-ID) exist only as shortcodes; there is no dynamic tag for them.