Marketing · Elementor

Login | Register Form widget for Elementor

AJAX login and registration on a normal Elementor page, with validation and optional extra fields.

Open live demo

Get King Addons

This page describes the PHP/JS for this widget — not a renamed stub. Install the free plugin from WordPress.org.

Get King Addons

What it actually does

AJAX login and registration on a normal Elementor page, with validation and optional extra fields.

Login Register Form Widget for King Addons.

render() writes HTML data attributes: data-action, data-admin-email-address, data-admin-email-content, data-admin-email-subject, data-ajax, data-app-id, data-auto-login, data-client-id.

Mailchimp is a server-side integration in this widget (API key / list ID), not a form embed.

Some inspector controls are marked Pro in PHP (eicon-pro-icon / king-addons-pro-control). Those need King Addons Pro, not Elementor Pro.

How to add it in Elementor

  1. Install King Addons. Install Elementor and King Addons. Get King Addons from WordPress.org.
  2. Edit with Elementor. Open a page and click Edit with Elementor.
  3. Insert the widget. Search the panel for “Login | Register Form”. Typing “king” lists every King Addons widget.
  4. Set inspector controls from this widget’s PHP. Configure “Default Form Type”, “Show Labels”, “Enable AJAX”, “Show Form Header”. Style and Content tabs are listed on this page.
  5. Preview the published page. Login Register Form Widget for King Addons.

When to use it

Tip: After King Addons is active, type king in the Elementor search box to list every widget, including Login | Register Form.

Inspector controls from this widget’s PHP

ControlWhat the code does
General — Default Form TypeThe chosen value is read in render() and applied on the front end. Options: Login; Register.
General — Show LabelsSwitcher inspector control (`show_labels`).
General — Enable AJAXSwitcher inspector control (`enable_ajax`).
Form Header — Show Form HeaderWhen this switch is on, render() skips the wrapped markup.
Form Header — LogoMedia Library attachment(s); render() uses the URL/ID as the image source.
Form Header — Logo WidthWrites CSS `width` onto the widget’s front-end markup. (min 0, max 500).
Form Header — IllustrationMedia Library attachment(s); render() uses the URL/ID as the image source.
Form Header — Illustration PositionThe chosen value is read in render() and applied on the front end. Options: Left; Right; Top; Bottom.
Form Header — Illustration WidthWrites CSS `width` onto the widget’s front-end markup. (min 0, max 800).
Login Form — Form TitlePrinted in the widget HTML from render().
Login Form — Form SubtitlePrinted in the widget HTML from render().
Login Form — Username/Email LabelPrinted in the widget HTML from render().
Login Form — Username/Email PlaceholderPrinted in the widget HTML from render().
Login Form — Password LabelPrinted in the widget HTML from render().
Login Form — Password PlaceholderPrinted in the widget HTML from render().
Login Form — Login Button TextPrinted in the widget HTML from render().
Login Form — Show Password Visibility ToggleSwitcher inspector control (`show_password_visibility_login`).
Login Form — Show Remember MeSwitcher inspector control (`show_remember_me`).
Login Form — Remember Me TextPrinted in the widget HTML from render().
Login Form — Show Lost Password LinkSwitcher inspector control (`show_lost_password`).
Login Form — Lost Password TextText inspector control (`lost_password_text`).
Login Form — Show Register LinkSwitcher inspector control (`show_register_link`).
Login Form — Register Link TextPrinted in the widget HTML from render().
Login Form — Show Lost Password Link (Show Lost Password Link)Switcher inspector control (`show_lost_password_link`).
Login Form — Lost Password Link TextPrinted in the widget HTML from render().
Email Notifications — Send Email to UserSend a welcome email to the user after successful registration.
Email Notifications — User Email SubjectPrinted in the widget HTML from render().
Email Notifications — User Email ContentPrinted in the widget HTML from render().
Email Notifications — Send Email to Admin (Pro)Send a notification email to the admin when a user registers.
Email Notifications — Admin Email AddressPrinted in the widget HTML from render().
Email Notifications — Admin Email SubjectPrinted in the widget HTML from render().
Email Notifications — Admin Email ContentPrinted in the widget HTML from render().
Mailchimp Integration — Enable Mailchimp Integration (Pro)Automatically subscribe users to your Mailchimp list upon registration.
Mailchimp Integration — Mailchimp API KeyText inspector control (`mailchimp_api_key`).
Mailchimp Integration — Mailchimp List IDText inspector control (`mailchimp_list_id`).
Mailchimp Integration — Double Opt-inSend confirmation email to subscribers.
Register Actions — Auto Login After RegistrationAutomatically log in the user after successful registration.
Register Actions — Redirect After RegistrationLeave empty to stay on the current page.
Register Actions — Redirect After LoginLeave empty to stay on the current page.
Register Actions — Redirect Already Logged UsersRedirect users who are already logged in.
Register Actions — Redirect URL for Logged UsersElementor URL control (href, new tab, nofollow) applied to a front-end link.
Lost Password Form — Form TitlePrinted in the widget HTML from render().
Lost Password Form — Form SubtitlePrinted in the widget HTML from render().
Lost Password Form — Email LabelPrinted in the widget HTML from render().
Lost Password Form — Email PlaceholderPrinted in the widget HTML from render().
Lost Password Form — Button TextPrinted in the widget HTML from render().
Lost Password Form — Show Login LinkSwitcher inspector control (`show_login_link_from_lostpassword`).
Lost Password Form — Login Link TextPrinted in the widget HTML from render().
Social Login — Enable Social Login (Pro)When this switch is on, render() skips the wrapped markup.
Social Login — Show SeparatorSwitcher inspector control (`social_login_separator`).
Social Login — Enable Google LoginSwitcher inspector control (`enable_google_login`).
Social Login — Google Client IDPrinted in the widget HTML from render().
Social Login — Google Client SecretText inspector control (`google_client_secret`).
Social Login — Enable Facebook LoginSwitcher inspector control (`enable_facebook_login`).
Social Login — Facebook App IDPrinted in the widget HTML from render().
Social Login — Facebook App SecretText inspector control (`facebook_app_secret`).
reCAPTCHA — Enable reCAPTCHASwitcher inspector control (`enable_recaptcha`).
reCAPTCHA — reCAPTCHA VersionThe chosen value is read in render() and applied on the front end. Options: reCAPTCHA v2; reCAPTCHA v3.
reCAPTCHA — Site KeyPrinted in the widget HTML from render().
reCAPTCHA — Secret KeyText inspector control (`recaptcha_secret_key`).
reCAPTCHA — ThemeThe chosen value is read in render() and applied on the front end. Options: Light; Dark.
reCAPTCHA — SizeThe chosen value is read in render() and applied on the front end. Options: Normal; Compact.
reCAPTCHA — Score ThresholdReCAPTCHA v3 returns a score (1.0 is very likely a good interaction, 0.0 is very likely a bot). Based on the score, you can take variable action in the context of your site.
reCAPTCHA — Hide reCAPTCHA BadgeHide the reCAPTCHA badge. Note: You must include the reCAPTCHA branding visibly in the user flow.
reCAPTCHA — Apply reCAPTCHA OnThe chosen value is read in render() and applied on the front end. Options: Login Form; Register Form; Lost Password Form.
Register Form — Form TitlePrinted in the widget HTML from render().
Register Form — Form SubtitlePrinted in the widget HTML from render().
Register Form — Email LabelPrinted in the widget HTML from render().
Register Form — Email PlaceholderPrinted in the widget HTML from render().
Register Form — Username LabelPrinted in the widget HTML from render().
Register Form — Username PlaceholderPrinted in the widget HTML from render().
Register Form — Password LabelPrinted in the widget HTML from render().
Register Form — Password PlaceholderPrinted in the widget HTML from render().
Register Form — Confirm Password LabelPrinted in the widget HTML from render().
Register Form — Confirm Password PlaceholderPrinted in the widget HTML from render().
Register Form — Show First NameSwitcher inspector control (`show_first_name`).
Register Form — First Name LabelPrinted in the widget HTML from render().
Register Form — First Name PlaceholderPrinted in the widget HTML from render().
Register Form — Show Last NameSwitcher inspector control (`show_last_name`).
Register Form — Last Name LabelPrinted in the widget HTML from render().
Register Form — Last Name PlaceholderPrinted in the widget HTML from render().
Register Form — Show WebsiteSwitcher inspector control (`show_website`).
Register Form — Website LabelPrinted in the widget HTML from render().
Register Form — Website PlaceholderPrinted in the widget HTML from render().
Register Form — Show PhoneSwitcher inspector control (`show_phone`).
Register Form — Phone LabelPrinted in the widget HTML from render().
Register Form — Phone PlaceholderPrinted in the widget HTML from render().
Register Form — Register Button TextPrinted in the widget HTML from render().
Register Form — Show Password Visibility ToggleSwitcher inspector control (`show_password_visibility_register`).
Register Form — Show Login LinkSwitcher inspector control (`show_login_link`).
Register Form — Login Link TextPrinted in the widget HTML from render().
Additional Fields — Field TypeOptions: Text; Email; Number; Phone; URL; Textarea; Select; Checkbox….
Additional Fields — Field LabelText inspector control (`field_label`).
Additional Fields — PlaceholderText inspector control (`field_placeholder`).
Additional Fields — RequiredSwitcher inspector control (`field_required`).
Additional Fields — OptionsEnter each option on a new line. For radio/checkbox use format: value|label.
Additional Fields — Field WidthOptions: Full Width; Half Width.
Register Form — Additional FieldsRepeater rows; render() loops each item to build the list or slides.
Register Form — Show User Role SelectionSwitcher inspector control (`show_user_role_selection`).
Register Form — User Role LabelPrinted in the widget HTML from render().
Register Form — Allowed User RolesThe chosen value is read in render() and applied on the front end.
Register Form — Default User RoleThe chosen value is read in render() and applied on the front end.
Register Form — Show Terms & ConditionsSwitcher inspector control (`show_terms_conditions`).
Register Form — Terms & Conditions TextPrinted in the widget HTML from render().
Register Form — Terms & Conditions LinkElementor URL control (href, new tab, nofollow) applied to a front-end link.
Register Form — RequiredSwitcher inspector control (`terms_required`).
Form Container — PaddingWrites CSS `padding` onto the widget’s front-end markup.
Form Container — Background ColorWrites CSS `background-color` onto the widget’s front-end markup.
Form Container — BorderElementor border group: type, width, color, and radius when the group includes it. Selector: `{{WRAPPER}} .king-addons-login-register-form`.
Form Container — Border RadiusWrites CSS `border-radius` onto the widget’s front-end markup.
Form Container — Box ShadowElementor box-shadow group for the selector. Selector: `{{WRAPPER}} .king-addons-login-register-form`.
Form Title — TypographyElementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-addons-form-title`.
Form Title — ColorWrites CSS `color` onto the widget’s front-end markup.
Form Title — MarginWrites CSS `margin` onto the widget’s front-end markup.
Form Subtitle — TypographyElementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-addons-form-subtitle`.
Form Subtitle — ColorWrites CSS `color` onto the widget’s front-end markup.
Form Subtitle — MarginWrites CSS `margin` onto the widget’s front-end markup.
Input Fields — TypographyElementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-addons-form-field input`.
Input Fields — Text ColorWrites CSS `color` onto the widget’s front-end markup.
Input Fields — Background ColorWrites CSS `background-color` onto the widget’s front-end markup.
Input Fields — PaddingWrites CSS `padding` onto the widget’s front-end markup.
Input Fields — MarginWrites CSS `margin` onto the widget’s front-end markup.
Input Fields — BorderElementor border group: type, width, color, and radius when the group includes it. Selector: `{{WRAPPER}} .king-addons-form-field input`.
Input Fields — Border RadiusWrites CSS `border-radius` onto the widget’s front-end markup.
Input Fields — Focus Border ColorWrites CSS (input, border-color) onto the widget’s front-end markup.
Labels — TypographyElementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-addons-form-field label`.
Labels — ColorWrites CSS `color` onto the widget’s front-end markup.
Labels — MarginWrites CSS `margin` onto the widget’s front-end markup.
Buttons — TypographyElementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-addons-form-button`.
Buttons (Normal) — Text ColorWrites CSS `color` onto the widget’s front-end markup.
Buttons (Normal) — Background ColorWrites CSS `background-color` onto the widget’s front-end markup.
Buttons (Hover) — Text ColorWrites CSS (king-addons-form-button, color) onto the widget’s front-end markup.
Buttons (Hover) — Background ColorWrites CSS (king-addons-form-button, background-color) onto the widget’s front-end markup.
Buttons — PaddingWrites CSS `padding` onto the widget’s front-end markup.
Buttons — MarginWrites CSS `margin` onto the widget’s front-end markup.
Buttons — BorderElementor border group: type, width, color, and radius when the group includes it. Selector: `{{WRAPPER}} .king-addons-form-button`.
Buttons — Border RadiusWrites CSS `border-radius` onto the widget’s front-end markup.
Buttons — WidthWrites CSS `width` onto the widget’s front-end markup. (min 0, max 1000).
Links — TypographyElementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-addons-form-link, {{WRAPPER}} .king-addons-form-toggle`.
Links (Normal) — ColorWrites CSS `color` onto the widget’s front-end markup.
Links (Hover) — ColorWrites CSS (king-addons-form-link, king-addons-form-toggle, color) onto the widget’s front-end markup.
Links — MarginWrites CSS `margin` onto the widget’s front-end markup.
Messages — TypographyElementor typography group: family, size, weight, transform, style, decoration, line-height, letter-spacing. Selector: `{{WRAPPER}} .king-addons-form-message`.
Messages — Success Message ColorWrites CSS `color` onto the widget’s front-end markup.
Messages — Error Message ColorWrites CSS `color` onto the widget’s front-end markup.
Messages — PaddingWrites CSS `padding` onto the widget’s front-end markup.
Messages — MarginWrites CSS `margin` onto the widget’s front-end markup.
Messages — Border RadiusWrites CSS `border-radius` onto the widget’s front-end markup.

Content and Style tabs from this widget’s PHP, including repeater fields and group controls (typography, background, border, shadow). Elementor’s Advanced tab is core Elementor and is not listed here.

FAQ

Why doesn’t Login | Register Form work in the Elementor preview?

AJAX handlers run on the published page. Preview the front end (or a Theme Builder preview of a real post) to test submit/filter requests.

Where do Login | Register Form subscribers go?

To the Mailchimp audience configured on the widget (API key and list ID in PHP). That is not the WordPress comments table.

How do I add Login | Register Form in Elementor?

Install King Addons and Elementor, edit a page, search the panel for “Login | Register Form”, drag it onto the canvas, then set Content and Style.

Do I need Elementor Pro?

No. King Addons runs on free Elementor. Some King Addons options (for example template-in-accordion, extra popup conditions, parts of the template catalog) need King Addons Pro — not Elementor Pro.

Related marketing widgets

Get King Addons

One free plugin. 80+ Elementor widgets, 650+ templates, and 4,000+ sections. Search for Login | Register Form after you activate it.

Get King Addons