Registration Form
Registration Form
Renders LifterLMS's own student registration form on any page you build with Elementor. The widget outputs the [lifterlms_registration] shortcode, so the fields, labels and heading are the ones defined in LifterLMS's form editor and account settings; the widget itself has no Content or Style controls of its own.
Usage
Dedicated sign-up page — Drop the widget on a page of its own (for example /register) and use Elementor's section and container controls to add branding around it. Link to that page from menus, buttons and course landing pages instead of sending visitors to the default LifterLMS dashboard.
Combined login and register page — Place the widget alongside the Login Form widget in two columns to give returning and new students a single entry point. Both widgets hide themselves for logged-in visitors, so the page is empty for anyone already signed in — add a section with Conditional Logic set to show only for logged-in users to point them to their User Dashboard instead.
Inline registration on a landing page — Add the widget below a course description so a visitor can create an account without leaving the page. After a successful registration LifterLMS redirects the new student to the LifterLMS dashboard page.
Shortcode instead of a widget — In a Text Editor widget, or outside Elementor, use LifterLMS's own [lifterlms_registration] shortcode directly (see LifterLMS shortcodes); it renders the same form.
How it works
The widget delegates everything to LifterLMS. Which fields appear, whether they are required, and the heading above the form are set in LifterLMS > Settings > Accounts and in the LifterLMS form editor under LifterLMS > Forms > Register — see LifterLMS's forms documentation. Account creation, validation and error notices are handled by LifterLMS's registration controller; the widget does not process the submission itself.
| Situation | Behaviour |
|---|---|
| Visitor is logged out | The Register form renders: the form title (if Show form title is on for the form), every field enabled in the form editor, the privacy-policy and terms fields when enabled, and the Register button. |
| Visitor is logged in | The widget renders nothing. LifterLMS hides its registration form from logged-in users (llms_hide_registration_form filter). |
| Submission has errors | The page reloads with LifterLMS error notices above the form and the entered values kept in the fields. |
| Submission succeeds | The new student is logged in and redirected to the LifterLMS dashboard page (LifterLMS > Settings > Accounts > Dashboard Page). Developers can change the destination with the lifterlms_registration_redirect filter. |
| A voucher code is entered | LifterLMS redeems it during registration and enrols the student in the voucher's courses or memberships. The voucher field appears only when enabled in the form editor. |
| Editor preview | Elementor's editor shows the message This widget will not display for logged in users. followed by a preview of the form, so you can position and style it while logged in. |
The widget does not depend on LifterLMS's Open Registration setting: that setting controls whether the registration form is added to the LifterLMS dashboard page for logged-out visitors, whereas this widget (and the shortcode) render the form wherever you place them.
Settings
Content
The widget has no settings of its own. Everything about the form — its fields, required flags, layout columns, title and button text — comes from LifterLMS: LifterLMS > Settings > Accounts for the account-level options and LifterLMS > Forms > Register for the field set.
Style
The widget has no Style tab of its own. The form uses LifterLMS's markup and classes (llms-new-person-form-wrapper, llms-new-person-form, llms-form-fields, llms-form-field, llms-button-action), so style it with LifterLMS's stylesheet, your theme, or the Custom CSS section on the Advanced tab.
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
- If the form does not appear on the front end, check that you are viewing the page logged out — the form is never shown to a logged-in user.
- Because the widget renders nothing for logged-in visitors, the surrounding Elementor section still takes up its padding and margins. Apply Conditional Logic to the section, not just the widget, if you need the whole block to disappear.
- Related: Login Form, User Dashboard.