Skip to main content

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.

Pricing Table widget showing a course's access plans side by side

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.

SituationBehaviour
Current course pricing on, on a course or membership pageThe 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 pickedNothing renders.
Visitor is already enrolled in the productNothing renders. The table is for visitors who can still buy or enroll.
Product has no purchasable or free plans, or has enrollment restrictionsThe 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 GroupsLifterLMS 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 previewThe 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

SettingDescription
Current course pricingYes (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 productMemberships (default) or Course — which list the next setting offers. Shown only when Current course pricing is No.
MembershipsThe 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.
CoursesThe 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-N on the llms-access-plans section) and LifterLMS loads its match-height script to align the columns.
  • Related: Course Access Plans, Access Plan Button, Checkout.