Course Access Plans
Course Access Plans
Displays the LifterLMS access plans attached to the current course, and optionally the plans of the memberships that grant access to it, as either a slider or a row of pricing tables. Each plan box is built from a list of parts you order yourself: title, price, enroll button, description and custom text. The widget extends Elementor Pro's Slides widget and borrows the Price Table widget's styles for the table layout.
The widget is built on Elementor Pro's Slides widget and is not registered when Elementor Pro is inactive.
Usage
Course template pricing section — Place the widget on a course template built with Templates > Theme Builder so every course page lists its own plans; see How to Build a Course Template. Set Display to Table and Columns to the number of plans you usually offer.
One plan per slide — Set Display to Slider for a full-width carousel where each plan is a slide. Use the Slider Options section for autoplay and navigation, and Hightlight Featured Plan? to ribbon the plan marked Featured in LifterLMS.
Offer membership plans on the course page — Set Access Plans to From Course and Memberships to add the plans of every membership that includes this course, or From Memberships only to show only those. Add a Price part with Show Membership? on so each membership plan names its membership.
Seat-based group enrolment — When a plan has LifterLMS Groups' Use for Group Enrolment turned on, this widget adds the group seat selector before that plan's enroll button; see How to Sell Seat-Based Group Enrollment.
Single button instead of boxes — When you only need one plan's call to action, use the Access Plan Button widget; for LifterLMS's stock pricing table with no layout controls, use the Pricing Table widget.
How it works
The widget resolves the course from the current page, collects the plans selected by Access Plans, then renders one slide or one table per plan using the parts listed in Structure.
| Situation | Behaviour |
|---|---|
| Course or lesson page | Plans come from the current course (or the lesson's parent course), and from its memberships when Access Plans includes memberships. |
| Membership page | With From Course and Memberships or From Memberships only, no course is found, so the widget falls back to the plans of the current membership. |
| No plans found | Nothing is rendered. |
| Plan marked Featured in LifterLMS | With Hightlight Featured Plan? on, the box gets a Featured ribbon (the elementor-price-table__ribbon element) coloured by Banner Color and Banner Text Color. |
| Price part without labels | Regular price, sale price, frequency, access expiration and membership name render inline in one line. Give a part a label (for example Frequency Label) and that value moves to its own labelled row (a feature-list row in the table layout). |
| Plan on sale | With Show Sale Price? on, the regular price is shown struck through beside the sale price. |
| Plan has no frequency, expiration or membership | The matching value is skipped even when its Show …? switch is on. |
| Enroll button | Links to the plan's LifterLMS checkout URL and uses the plan's own enroll text. |
| Plan set to Use for Group Enrolment (LifterLMS Groups) | The widget fires the le-before-access-plan-button hook before the button; the Groups integration uses it to add LifterLMS Groups' seat selector. With Seat Selection set to variable, buyers get a Seats number field inside the plan box. The Access Plan Button widget does not add this selector. |
| Editor preview | In the Elementor editor the slider is initialised with a small script so the carousel works in the preview; the front end uses Elementor's Swiper library. |
Settings
Content — Settings
| Setting | Description |
|---|---|
| Display | Layout of the plans. Slider (default): one plan per slide in an Elementor Pro Slides carousel. Table: plans side by side as pricing tables. |
| Access Plans | Which plans to list. From Course only (default): the plans attached to the current course. From Memberships only: the plans of the memberships that include this course. From Course and Memberships: both. |
| Equal Heights? | Stretches every table to the height of the tallest one. Shown only when Display is Table. |
| Min Height | Minimum height of each table (px, vh or em; default 200 px), responsive. Shown only when Display is Table and Equal Heights? is off. |
| Height | Height of each slide (px, vh or em; default 400), responsive. Shown only when Display is Slider. |
| Columns | Number of tables per row, 1 to 6 (default 3), responsive. Shown only when Display is Table. |
| Spacing | Gap between tables (px, vh or em; default 20 px), responsive. Shown only when Display is Table. |
| Hightlight Featured Plan? | Adds a Featured ribbon to plans marked featured in LifterLMS. The label's spelling is as it appears in the editor. |
| Banner Text Color | Text colour of the ribbon (default white). Shown only when Hightlight Featured Plan? is on. |
| Banner Color | Background colour of the ribbon. Shown only when Hightlight Featured Plan? is on. |
Content — Slider Options
Elementor Pro's Slides options — Navigation, Autoplay, Pause on Hover, Pause on Interaction, Autoplay Speed, Infinite Loop, Transition, Transition Speed and Content Animation. Shown only when Display is Slider. See Elementor's Slides widget documentation.
Content — Structure
The Parts repeater lists the pieces of each plan box, top to bottom. Drag items to reorder, add or remove them; the default list is Title, Price, Enroll Button, Description, Custom label. Each item's Part Type decides which of the settings below it shows.
| Setting | Description |
|---|---|
| Part Type | Title: the plan's title. Price: the plan's price details. Enroll Button: the call-to-action button. Description: the plan's description text. Custom label: text you supply. |
| Heading tag | Element wrapped around the title: H1–H6, div, span (default) or p. Shown only for Title. |
| Purchase Link | Makes the title a link to the plan's checkout page. Shown only for Title. |
| Show Regular Price? | Shows the plan price (default on). Shown only for Price. |
| Show Sale Price? | When the plan is on sale, shows the sale price with the regular price struck through (default on). Shown only for Price with Show Regular Price? on. |
| Price Label | Optional label; when set, the price moves from the inline line to its own labelled row. Shown only for Price with Show Regular Price? on. |
| Show Frequency? | Shows the billing frequency of recurring plans (default on). Shown only for Price. |
| Frequency Label | Optional label for the frequency row. Shown only for Price with Show Frequency? on. |
| Show Access Expiration? | Shows the access length or expiry date of limited-access plans (default on). Shown only for Price. |
| Access Expiration Label | Optional label for the expiration row. Shown only for Price with Show Access Expiration? on. |
| Show Membership? | Shows the name of the membership the plan is restricted to (default on). Shown only for Price. |
| Membership Label | Optional label for the membership row. Shown only for Price with Show Membership? on. |
| Type | Elementor button style preset: Default, Info, Success, Warning or Danger. Shown only for Enroll Button. |
| Alignment | Left, Center, Right or Justified (full width), responsive. Shown only for Enroll Button. |
| Size | Extra Small, Small (default), Medium, Large or Extra Large. Shown only for Enroll Button. |
| Icon | Icon shown in the button, from the Elementor icon library or an uploaded SVG. Shown only for Enroll Button. |
| Icon Position | Before (default) or After the button text. Shown only when an Icon is set. |
| Icon Spacing | Gap between the icon and the text (0–50 px). Shown only for Enroll Button. |
| Label (admin) | Name shown for this item in the editor only. Shown only for Custom label. |
| Custom Content | The text to print; accepts dynamic tags, so you can pull plan or course data — see Course Dynamic Tags. Shown only for Custom label. |
| Typography, Text Color, Background Color, Border Type, Border Radius, Padding | Styling of the custom text block. Shown only for Custom label. |
Style
| Section | Description |
|---|---|
| Slides | Elementor Pro's slide layout controls — Content Max Width, padding, horizontal and vertical position, text align and text shadow — plus a Lifter Elements Background Color for the slide (default #FF9A00). Shown only when Display is Slider. |
| Table | Background colour, border, border radius, box shadow and padding of each pricing table. Shown only when Display is Table. |
| Typography | For each of the Heading, Description and Price parts: colour, typography and Text Alignment. The heading also gets a background colour, border, border radius and padding in the table layout. |
| Button | Normal and hover text, background and border colour of the enroll button, then typography, text shadow, border style, border radius, box shadow and padding. |
| Navigation | Elementor Pro's arrow and pagination position, size and colours. Shown only when Display is Slider. |
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
- Access plans are created in the course's Access Plans box in the LifterLMS editor; see LifterLMS's access plan documentation. Plan title, price, sale, frequency, expiration, membership restriction, Featured flag and enroll text all come from there.
- Developers can hook
le-before-access-plan-template,le-before-access-plan-buttonandle-after-access-plan-template, or filter the checkout URL withle-access-plan-button-url. - Related: Access Plan Button, Pricing Table, Checkout, How to Sell Seat-Based Group Enrollment.