Create a User Registration Form Elementor

How to Build an Elementor Registration Form Without Plugin

Facebook
X
LinkedIn
WhatsApp
Email

Want a simple, reliable Elementor registration form without a plugin or extra addons?

I’ll walk you through a clean method that uses only Elementor’s Form widget and a small PHP function added to your theme—no premium extensions, no bulky membership plugins—just Elementor and a few lines of code.

What this solution does

This approach creates a front-end signup form that registers users in WordPress.

The form can collect standard fields (username, email, password) plus optional meta (first name, last name).

After successful registration, users are redirected to your login page or to any URL you specify. It works with Elementor Pro’s Form widget and a lightweight function added to your theme’s functions.php of the child theme.

Overview of the steps

  1. Create the form layout in Elementor.
  2. Name the form so the PHP function can identify it.
  3. Add required fields: username, email, password (mark them required).
  4. Set Actions After Submit to redirect to the login page.
  5. Paste the PHP function into your theme’s functions.php file.
  6. Test registration in an incognito window and verify the new user appears in Users.
  7. Optionally hide the form for logged-in users using display conditions.

Step-by-step walkthrough

1. Build the form

Start by creating a new section, then add the Elementor Form widget to it. The form must have a name that matches the one your function checks for.

New User Registration Form Elementor

At least three fields must be required: username, email, and password. Besides that, you can add any other optional fields, for example, first name or last name, for regular text fields.

2. Configure Actions After Submit

Remove any default actions and append a Redirect action. The redirect should point to your login page (like wp-login.php or a custom login URL). This is for redirecting new users to the login screen after registration is complete.

Create a redirect after submission

3. Add the PHP handler

In your theme or child theme’s functions.php, add a function that listens for submissions from the form name you set. The handler should:

  • Check the form name and that the required POST fields are present.
  • Sanitize inputs and validate the email and username.
  • Create the user with wp_create_user or wp_insert_user using the username, password, and email.
  • Optionally store the first name and last name using update_user_meta.
  • Handle errors gracefully (existing username or invalid email).

The fundamental WordPress functions that you will utilize are wp_create_user($username, $password, $email) and update_user_meta($user_id, ‘first_name’, $value).

The code must be straightforward and focused solely on sanitization and user creation.

add_action( 'elementor_pro/forms/new_record', 'fixingwp_registration_form_elementor', 10, 2 );
function fixingwp_registration_form_elementor( $record, $ajax ) {

    if ( $record->get_form_settings('form_name') !== 'New User Registration' ) return;

    $d = $record->get_formatted_data();

    $user_id = wp_create_user(
        sanitize_user( $d['Username'] ),
        $d['Password'],
        sanitize_email( $d['Email'] )
    );

    if ( is_wp_error( $user_id ) ) {
        $ajax->add_error_message( $user_id->get_error_message() );
        $ajax->is_success = false;
        return;
    }

    wp_update_user([
        'ID'         => $user_id,
        'first_name' => $d['First Name'] ?? '',
        'last_name'  => $d['Last Name']  ?? ''
    ]);
}
Create New WordPress User PHP Function

4. Test the workflow

Open the page in an incognito window, submit the form with a test account, and verify the redirect lands on the login page.

Log in with the new credentials to confirm everything was created correctly. Finally, check the WordPress Users screen to see the new user entry.

Extra tips and best practices

  • Use a child theme so updates won’t overwrite your functions.php changes.
  • Sanitize and validate every field to prevent insufficient data or security issues.
  • Display conditions in Elementor let you hide the form from logged-in users—set the form to show only when the user is logged out.
  • Password strength can be enforced using client-side hints or server-side checks before creating the user account.
Elementor Display Conditions

Conclusion

Creating an Elementor registration form manually is the best alternative to heavyweight, complex solutions like plugins for simple membership and user signup requirements.

You can let users register, save meta, and redirect them all without third-party extensions; you need to set up the Form widget and a simple PHP handler.

First, try it on a staging site, add input validation, and you will be ready to deploy a clean signup flow to production.

Picture of Ido Mosko

Ido Mosko

Ido is the content manager here at FixingWP. He is a WordPress enthusiast with extensive experience with plugin and theme customization, SEO, and marketing. My biggest hobbies are snowboarding, playing poker, and watching soccer.

Leave a Reply

Your email address will not be published. Required fields are marked *

Here are a few tips from us before you leave

Practical tips, examples, and best practices to keep your WordPress site safe.

Your website will thank us, you welcome :)