Pricing Table
Pricing Table
Renders LifterLMS's own pricing table for a course or membership: one column per access plan, with the plan title, price, restrictions, description and enroll button, in LifterLMS's standard markup. The widget outputs the [lifterlms_pricing_table] shortcode, so what appears is decided by the product's access plans and LifterLMS's templates; the widget only decides which product the table is for.
Usage
Plans on a course or membership template — Leave Current course pricing on and place the widget on a course or membership template built with Templates > Theme Builder; every course or membership then shows its own plans in the same spot. See How to Build a Course Template.
Plans for one product on a sales page — Switch Current course pricing off, set Type of product, and pick the membership or course. The table for that product renders wherever the widget sits, for example on a landing page that is not itself a course.
Designed plan cards instead of LifterLMS's table — When you want to control the layout, typography and colours of each plan card, or show plans in a slider, use the Course Access Plans widget; it renders plans with Lifter Elements' own templates and style controls. For a single enroll button rather than a full table, use the Access Plan Button.
Shortcode instead of a widget — In a Text Editor widget or outside Elementor, use LifterLMS's [lifterlms_pricing_table] shortcode directly, with product="ID" to pin a course or membership (see LifterLMS shortcodes); it renders the same table.
How it works
The widget builds a shortcode from its settings and lets LifterLMS render it. With Current course pricing on, the shortcode carries no product and LifterLMS uses the post being displayed; with it off, the shortcode carries the ID of the membership or course you picked.
| Situation | Behaviour |
|---|---|
| Current course pricing on, on a course or membership page | The table for that course or membership renders. |
| Current course pricing on, on any other post type (a lesson, a quiz, a page) | Nothing renders. LifterLMS only resolves the product from a course or membership post, so use the pinned-product mode elsewhere. |
| Current course pricing off, no product picked | Nothing renders. |
| Visitor is already enrolled in the product | Nothing renders. The table is for visitors who can still buy or enroll. |
| Product has no purchasable or free plans, or has enrollment restrictions | The plan columns are not rendered. For a course with an enrollment period or capacity limit, LifterLMS prints the course's Enrollment Opens, Enrollment Closed or Capacity message instead. |
| Plan is set to Use for Group Enrolment in LifterLMS Groups | LifterLMS Groups adds its seat fields to each plan box in LifterLMS's table: a Seats number input for variable seat plans, a fixed Seats: N label otherwise, and a Group selector for visitors who already lead a group for this product. It also keeps the table visible to enrolled visitors when the product has group plans, so they can buy more seats (unless Allow additional seats is off in the LifterLMS Groups settings). See How to Sell Seat-Based Group Enrollment. |
| Editor preview | The widget has no live editor template; the table is rendered by LifterLMS on the front end. In the editor, Current course pricing resolves from the template's preview post. |
Settings
Content
| Setting | Description |
|---|---|
| Current course pricing | Yes (default) shows the plans of the course or membership being viewed. No shows the plans of a product you pick with the settings below. |
| Type of product | Memberships (default) or Course — which list the next setting offers. Shown only when Current course pricing is No. |
| Memberships | The membership whose plans to show, from every membership on the site sorted by title. Shown only when Type of product is Memberships and Current course pricing is No. |
| Courses | The course whose plans to show, from every course on the site sorted by title. Shown only when Type of product is Course and Current course pricing is No. |
Style
The widget has no Style tab of its own. The table uses LifterLMS's markup and classes (llms-access-plans, llms-access-plan, llms-access-plan-content, llms-access-plan-footer), so style it with LifterLMS's stylesheet, your theme, or the Custom CSS section on the Advanced tab. For per-card style controls, use the Course Access Plans widget instead.
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 widget does not create or edit access plans. If nothing renders, check that the product has at least one published access plan and that you are not viewing it as an enrolled user.
- Column count is set by LifterLMS from the number of plans (
cols-Non thellms-access-planssection) and LifterLMS loads its match-height script to align the columns. - Related: Course Access Plans, Access Plan Button, Checkout.