Super Forms
  • Drag & Drop Form Builder for WordPress
  • Quick start
    • Installation
    • Registration
    • Starting your 15 day trial
    • Purchasing a license
    • Activating a license
    • First time setup
    • Secure file uploads
    • Creating a form
    • Adding form elements
    • Editing elements
    • Publishing your form
    • FAQ
  • Account
    • Dashboard
      • Your Invoices
      • Billing details
      • Your Licenses
      • E-mail Notification
      • Password reset
      • Cancel subscription
  • Common problems
    • Common problems
      • Email delivery problems
        • Why is my form not sending emails?
        • Why are emails going into spam folder/inbox?
      • File upload problems
      • Session expired
      • reCaptcha Troubleshooting – Fix “Not Loading” & Verification Errors
  • Elements
    • Layout elements
      • Column/Grid
      • Multi-part / step
    • Form elements
      • Calculator
      • Signature
      • File upload
      • Datepicker
      • Variable field
      • Dropdown
      • Text field
      • Autosuggest
      • Keywords
      • Radio button
      • Keyword Field
      • Button
      • Audio Recording (microphone)
    • HTML elements
      • Heading
      • HTML (raw)
      • Image
      • TinyMCE
      • Divider
      • Spacer
      • PDF page break
      • Google map element WordPress form
  • Features
    • Basic
      • Confirmations emails
      • Save Form Progression (continue later)
      • Build In Translation System
      • Populate form
      • Popups
      • Import & Export
      • Hide form after submitting
      • Hide or lock out user from your forms
      • Validation
    • Advanced
      • WordPress form with Google sheets dropdown
      • Custom registration form for WordPress
      • Custom login form for WordPress
      • Custom lost password form for WordPress
      • Update current logged in user
      • Secrets
      • Prevent duplicate entries
      • Lock & hide form
      • Password protect
      • Conditional Logic
      • Tags system
      • Address lookup/auto complete
      • Analytics Tracking
      • Conversion Tracking
      • Distance & Duration Calculation
      • If statements
      • Foreach loops
      • E-mail Reminders
      • Variable Fields
      • Form templates - Include elements into other forms - WordPress
      • Transferring data from one form to another
    • Integrations
      • PDF Generator
      • Listings
      • WooCommerce Checkout
        • Fixed price checkout
        • Dynamic price checkout
        • Variable product checkout (variations)
        • Replacing the "Add to cart" on a product page with a form
        • Hiding product from shop and order via custom form
      • PayPal
      • MailChimp
      • Mailster
      • Zapier
      • Stripe (BETA)
      • WooCommerce Instant Order (in progress)
  • Tutorials
    • WordPress Form to Google Sheet Integration
    • GDPR Consent / Terms agreement
    • How to update the plugin
    • Sending emails to specific department for WordPress contact forms
  • Example Forms for WordPress
    • Booking 24 hours ahead of time
  • Developers
    • Code Examples
      • Lookup City by Zipcode for your WordPress form
      • Audio Recording Field
      • Custom API Phone Number Validation for Your WordPress Form
      • Updating WordPress user meta data after login
      • Automatically redirecting to next step after displaying text or a progress bar
      • Dropdown with groups (categories)
      • Prevent form submission based on entered field values
      • Track form submissions with GTM (Google Tag Manager)
      • Tracking Multi-part steps with Google Analytics
      • Tracking Multi-part steps with GTM data layer (dataLayer.push)
      • Track form submissions with third party
      • Compare input field value with database value
      • Insert form data into a custom database table
      • Delete database row after contact entry is deleted in WordPress
      • Limited date availability (slots) for your WordPress booking form
      • Send submitted form data to another site
      • Exclude empty fields from emails
      • Execute custom JS when a column becomes conditionally visible
      • Toolset Plugin: Update comma separated string to Array for meta data saved via Front-end Posting
      • Toolset Plugin: Update file ID to file URL for meta data saved via Front-end Posting
      • Delete uploaded files after email has been send
      • Increase Cookie lifetime for client data such as [Form Progression]
      • Altering cookie secure and httponly parameters
      • Define fake cronjob to clear old client data if cronjob is disabled on your server
      • Define page language attribute based on page ID or URL
      • Define custom headers when doing a POST request
      • Change checkbox/radio layout to vertical on mobile devices
      • Show remaining available form submission allowed
      • Global fields / elements
      • Trim values of fields
      • Re-sending E-mails after editing entries via Listings for WordPress
      • Combine multiple field values into one column on Contact Entries page
      • Altering the attachments for E-mails via PHP code for WordPress
      • Generate dynamic columns with dates based on user selected date from Datepicker element
      • Hide `eye` icon from Listings row based on user role
    • Data storage
    • BETA version
  • Changelog
  • Support
Powered by GitBook
On this page
  • Creating a custom WordPress registration form
  • Verification of E-mail address
  • Defining the login page URL
  • Hiding the default WordPress toolbar for the user
  • Saving custom user meta data
  • Manually approving registrations
  • Block user accounts
  • Allowing registration without entering a password
  • Sending an "Account approved" E-mail to the user
  • Skipping the registration conditionally
  1. Features
  2. Advanced

Custom registration form for WordPress

How to create custom registration form for your WordPress site to register users with a specific user role and optionally custom user meta data.

PreviousWordPress form with Google sheets dropdownNextCustom login form for WordPress

Last updated 11 months ago

This article explains how to setup and configure your custom Registration form for WordPress. In most use cases a registration form will work in combination with a Login and Lost password form so you may also be interested on how setup a and or form.

A demo form is available under Super Forms > Demos named "Register form" which should help to quickly get a working Registration form up and running.

Creating a custom WordPress registration form

Important: Your form must contain fields named user_email (E-mail address) and optionally a user_login (username) field. Note that a Password field exactly named user_pass should be added, otherwise a random password will be generated on the fly instead. You are also strongly advised to not store or save the password field since for most use cases this is not desired. However Super Forms does give you the ability to do so. So please double check that your password field is not saved as Contact Entry data, and that you are excluding it from E-mails.

First edit your form and navigate to Form Settings > Register & Login. From the Actions option choose Register a new user. You should now see all settings that relate to registering a new user. Make sure to configure all the options that fits your use case.

Verification of E-mail address

In case you enable the option to send a verification E-mail to the user, you must make sure you added the Verification Code element to your login form as described .

Defining the login page URL

Make sure to define the Login page URL so that it points to the URL where the Login form is located, for instance: https://mydomain.com/login as shown in the image below. This URL can be retrieved with the tag {register_login_url} inside your E-mails if needed.

Please understand that the status of an account is not the same thing as the verification of the E-mail address. Whenever you have a form that has no verification requirement for the E-mail address, and the status is set to "Active" by default after registration, the user can login instantly after registration.

Hiding the default WordPress toolbar for the user

If you wish to hide the default WordPress toolbar to the user when they are logged in, you can uncheck the setting Show Toolbar when viewing site (enabled by default).

Saving custom user meta data

If you require to store some custom user meta data, for instance in combination with a custom plugin or perhaps ACF (Advanced Custom Fields) plugin, you can define each user meta data under the setting Save custom user meta. Simply put each field and it's corresponding meta key on a new line. For instance, by default WordPress users do not have a "Age" field. If you ask the user for their age (or birthdate) on the registration form, you can map it like so:

age|field_6424a30691ebb

In the above example age is the fieldname in our form, and field_6424a30691ebb is the meta key. If you use a plugin like ACF for custom user profile fields, you can find the meta key for your field under the column "Key" as shown below.

Manually approving registrations

It is also possible to manually approve registrations. To do so, you will want to change the User login status after registration from "Active (default)" to the option "Pending". Now whenever a user registers (and optionally verified their E-mail address) their account won't be active yet. When they try to login they will see the message that their account is being reviewed before becoming activated.

Block user accounts

Super Forms also provides you an extra option to completely block a specific user from being able to login until further notice. You can for instance change the User login status after registration setting to Blocked for any new registrations. Alternatively you can change any existing user's status to Blocked by editing the user and changing the User status to Blocked as shown below:

Allowing registration without entering a password

To create a registration form where a user doesn't require to enter a password, simply remove (or make sure to not add) a Password element. That way Super Forms will generate a new password for the user on the fly.

Don't forget to provide the generated password inside the E-mail with the use of tags {user_pass} or{register_generated_password} so that they can actually login.

This way you could have a registration form that only consists of a E-mail field named user_email (and optionally a user_login field if you wish to have the username different from the email address which might be desired in some cases).

Sending an "Account approved" E-mail to the user

Skipping the registration conditionally

This allows you to skip the registration whenever you don't require the form submitter to become registered or create a new account. But still allow the form to be submitted.

For this to work you must first define the User login status after registration to "Pending". As shown in the image below. When using this method, you may also want to enable the option so that a new random password is being generated for the user upon approving. If you leave this unchecked, you might want to delete the row that displays the users password inside the E-mail since the user should know their password already. Alternatively you could add an extra link to the E-mail that points to your form in case they forgot their E-mail. However, your should (in normal use cases) already contain a link to the Lost password form. So this might be redundant.

Perhaps you only want the form to register a new user based on a specific condition. In this case you can enable the following option (see image below) and place your user_email and or user_login inside a and .

Lost password/Reset password
login form
Login form
Lost password
Column
here
Defining the login page URL for your WordPress site.
Hiding the WordPress toolbar for newly registered users.
Mapping registration form fields with meta key to save custom user meta data in WordPress.
Temporarily block a user from being able to login to your WordPress site.
Sending an "Account approved" E-mail to the user
Conditionally registering a new user on your WordPress site.
Defining the login page URL for your WordPress site.
Hiding the WordPress toolbar for newly registered users.
Mapping registration form fields with meta key to save custom user meta data in WordPress.
Temporarily block a user from being able to login to your WordPress site.
Sending an "Account approved" E-mail to the user
Conditionally registering a new user on your WordPress site.
conditionally hide the column