You want a custom WordPress registration form – one with more than just a username and password. Doing that by hand means hooking into the right functions and validation checks, and getting it wrong can break account creation.
I found this out the hard way on a client site: a missed sanitization check let malformed usernames through for two days before anyone noticed.
Here’s how to build one without touching a line of code, using the User Registration & Membership (URM) plugin. Unlike contact-form builders with a registration module bolted on, URM handles approval workflows, role assignment, and email notifications natively – the three things I’ve had to troubleshoot by hand on other plugins before switching.
Step 1: Install User Registration & Membership Plugin
Go to Plugins → Add New in your WordPress dashboard and search for User Registration & Membership.

Click Install Now, then Activate. The setup wizard launches automatically after activation.
Work through the wizard. At the Install Pages step, you’ll see three options: Advanced Registration, Paid Membership, and Free Membership – this only affects whether membership-specific pages get added on top. All three create the same four baseline pages, each already embedded with the right form: Registration, Login, My Account, and Lost Password. I default to Advanced Registration for most builds since I rarely need the membership pages this early.
The Login and My Account pages show the same login form to a logged-out visitor – My Account additionally shows the account dashboard once they’re signed in, which is why it’s the better one to link from your site’s menu (more on that in the FAQ below). The Lost Password page handles password resets automatically; there’s nothing extra to configure.
You can always add membership tiers later regardless of which one you start with.

Complete the remaining wizard steps and click Finish.
Step 2: Create Your Registration Form
Go to User Registration & Membership → Registration Form.
You have two starting points:
Edit the Default Form: a ready-made form with Username, Email, Password, and Confirm Password already in place. The fastest option if you just need to add a few fields on top of the basics.
Build from scratch: Click Add New to build a separate form from the ground up. There’s no limit on how many registration forms you can create, even on the free version.
I used this route recently for a coaching site that needed separate signup forms for students and instructors, one collecting a specialty and years of experience, the other a preferred time zone.
Click Add New → Start from Scratch for a blank canvas with full control over every field and layout. Choose this when you need a specific field set or want to use the form for a distinct purpose (event registration, course enrollment, membership signup).

Whichever you choose, the next steps are identical.
💡 Pro Tip: User Registration and Membership also includes 50+ pre-built form templates for common use cases — job applications, event registrations, healthcare intake forms, and more.
Select Choose a Template when creating a new form to browse and import one with the relevant fields already in place.
Step 3: Add and Arrange Fields
Inside the form builder, the left panel lists all available field types. Drag any field onto the canvas to add it to your form.

To rearrange fields, drag them to a new position on the canvas. To create a two- or three-column layout within a row, use the column selector on the right side of that row — useful for placing First Name and Last Name side by side.

To delete a row, click the X icon on its right edge. Click Preview at any time to see how the form renders on the front end.


Once you’re happy with the field layout, click Publish Form (for new forms) or continue to Step 4.
💡 Pro Tip: The Advanced Field Add-on on the User Registration and Membership Pro allows you to add a profile picture upload field to your WordPress registration form.
Step 4: Configure Each Field
Click any field on the canvas to open its Field Options panel on the left.

Each field has two settings tabs:
General Settings: edit the field’s Label (text shown above the field), Placeholder (greyed-out hint text inside the field), Description (help text shown below), and Required toggle (whether the user must fill this field before submitting). You can also enable Hide Label for minimal form designs where the placeholder does the label’s job.
Advanced Settings: add a Custom CSS Class for stylesheet targeting, and access field-specific options: minimum/maximum values for number fields, date format for date pickers, allowed file types for file upload fields, and so on.
Configure each field individually, then click Update Form to save.
Step 5: Set Your Form Settings
Click the Form Settings tab in the left panel. These settings control how the form behaves — not how it looks.

User Approval and Login Option: what happens after someone submits the form. Four options: auto-approve and auto-login (instant access), auto-approve with manual login (account created, user logs in separately), email confirmation required (user clicks a verification link), or admin approval required (you manually approve each registration before access is granted).
If you’re using admin approval, see how to approve users in WordPress after registration for the review workflow in detail.
Default User Role: the WordPress role assigned to users who register through this form. Subscriber works for most membership sites; Author or Contributor suits content teams.
Not sure which role to select? Here’s what each WordPress user roles can do. If you want users to pick their own role at signup instead of a fixed default, see how to let users select their role at registration.
Enable Strong Password: forces users to create a password that meets minimum security requirements before the form accepts submission.
Submit Button Text: change the button label from “Register” to anything that fits: “Create My Account”, “Join Free”, “Get Started”.
Enable Captcha Support: adds reCAPTCHA to block automated spam registrations. Works with Google reCAPTCHA v2 and v3.
Activate Spam Protection by Akismet: routes submissions through the Akismet spam filter before creating any account.
- Redirect After Registration: what happens right after someone submits the form. Three options:
- Internal Page — pick a page from your site (like My Account or a welcome page), plus how many seconds to wait before redirecting — This only controls the redirect right after registration. For login redirects, see redirecting users after login.
- External URL — enter any URL to redirect to, plus the same delay setting
- Referrer — send the user back to whichever page they were on when they registered
Whichever option you pick, you can also set a Delay Before Redirect, in seconds, so the user sees a brief confirmation message before the redirect happens.
Click Update Form to save all settings.
Pro Tip: While testing your site, set User Approval to Admin Approval so you can review test accounts before going live. Switch to auto-approve when everything is working correctly.
Step 6: Embed the Form on a Page
If you used the setup wizard’s Install Pages option, your Registration page already exists with the default form embedded – check it under Pages → All Pages. Skip to publishing if that’s the case.
For a custom form that you just created, click the Embed button at the top of the form builder.

A popup appears with two options: add the form to an existing page, or create a new one. Click Create New Page, give it a title (e.g., “Register”, “Create Account”, “Join”), and click Let’s Go!.

Then, give the page a title and press the Let’s go! button.

This automatically creates the page and adds the form to it.

All you have to do is publish the page, and you’re done!

After the page is live, submit a test registration yourself. I always check three things: the account shows up under Users → All Users, it lands in the role you set in Step 5, and any redirect or confirmation email fires correctly. Takes about two minutes and catches most configuration mistakes before a real visitor does.
What Fields Can You Add?
User Registration & Membership includes 60+ field types. Here are the most commonly used ones for registration forms:
| Field Type | Use Case |
|---|---|
| Text | First name, last name, company name |
| Secondary or business email | |
| Phone | Contact number with format validation |
| Textarea | Short bio, message, or notes |
| Dropdown | Country, industry, account type |
| Radio | Gender, plan selection |
| Checkbox | Terms agreement, newsletter opt-in |
| Date Picker | Date of birth, membership start date |
| File Upload | Profile photo, ID verification, portfolio |
| Number | Age, team size, years of experience |
| Invitation Code | Restrict WordPress registration to invited users |
| Membership | Let users select and join a plan at signup |
| Profile Picture | Upload avatar during registration |
| Country | Country selector with auto-complete |
Note: The Invitation Code and Membership fields are URM-specific additions worth highlighting.
Learn how to restrict registration with an invite code for private communities and beta programs
Membership lets users pick and join a paid or free plan during registration, turning the signup flow into a full checkout. If that’s the direction you’re headed, see our guide to building a full membership site.
Useful Features to Set Up Next
Spam Protection
Three layers can run simultaneously:
- reCAPTCHA: Google’s bot detection. Add the Captcha field from the form builder or enable it globally under Settings → reCAPTCHA. Supports v2 (checkbox) and v3 (invisible). For the full walkthrough, including hCaptcha and Cloudflare Turnstile, see setting up CAPTCHA step by step.
- Akismet routes submissions through Akismet’s spam database. Enable under Form Settings → Activate Spam Protection by Akismet (requires an Akismet API key).
- Honeypot an invisible field that bots fill in but humans skip. URM adds this automatically when spam protection is enabled.
For the full picture on locking this down, including admin approval and email verification as additional layers, see how to prevent spam registrations in WordPress.
Conditional Logic
Show or hide specific fields based on what a user has already selected. For example: reveal a “Company Name” field only when a user chooses “Business Account” from a dropdown, or show a file upload field only when a specific checkbox is ticked. Configure it per-field from the Advanced Settings tab. This is a Pro feature.
Style Customization
The Style Customizer (accessible from the form builder’s Style tab) lets you adjust colors, button styles, field borders, and typography visually, no CSS required. Match the form to your brand without touching a stylesheet.
Frequently Asked Questions About Creating a User Registration Form in WordPress
Is the free version enough to create a custom registration form?
Yes, everything covered in this guide works on the free version of User Registration & Membership plugin: the full drag-and-drop form builder, 60+ field types, unlimited forms, and all Form Settings (approval, roles, redirects, CAPTCHA). You can build and publish any standard registration form at no cost. Conditional logic, the style customizer, and payment integration require Pro.
How do I add the registration form to my navigation menu?
Go to Appearance → Editor, open the Navigation section, and add your Registration or My Account page as a menu item. The My Account page is usually the better menu choice — it shows the login form to logged-out visitors and the member dashboard to logged-in users, all from a single URL.
Can I create multiple registration forms for different purposes?
Yes — URM supports unlimited forms, each with its own fields, settings, approval workflow, and default user role. A typical setup might have a free membership form assigning the Subscriber role, a contributor form assigning the Author role, and a paid plan form tied to a membership plan.
How do I stop spam registrations?
Enable reCAPTCHA (from the Captcha field or Form Settings), activate Akismet, and the honeypot field is added automatically. For high-spam environments, set User Approval to Admin Approval so no account becomes active until you’ve manually reviewed it.
Can I redirect users to different pages based on their role after registration?
With URM Pro, yes. Role-based redirects let you send subscribers to a welcome page, contributors to their profile editor, and administrators to the dashboard all from the same form submission. In the free version, you can set one redirect URL that applies to all users.
Is it possible to create a registration form without a plugin?
Yes. WordPress has a built-in registration feature that works without installing anything. It’s limited to fixed fields, no spam protection, and one form per site, which is why most sites eventually move to a plugin. If you’d rather start with the built-in method first, see our guide to creating a registration form without a plugin.
Wrapping Up
Building a registration form with User Registration & Membership takes under 20 minutes, install the plugin, create or edit a form, add the fields you need, configure the settings, and embed it on a page.
The free version covers the complete workflow. When you’re ready for conditional logic, payment integration, or style customization, Pro picks up from there.
Build your first form free. Upgrade to Pro for conditional logic, membership integration, and advanced spam protection.