I’ve set 2 new roles for my e-commerce site – “seller” and “buyer”. Each role should have its own registration page with different fields.
I’ve searched for hours for a plugin that will give me the option to do this, but couldn’t find one. Does a plugin like this even exist?
This sounds like a pretty common configuration in membership websites with different roles registration. However, finding a user registration plugin that does this out of the box is where things get difficult.
Plugins authors try to offer you workarounds, but the truth is you shouldn’t be required to mess around with the code trying to filter the fields that aren’t relevant on a specific form. Nor to be advised to use CSS to hide fields, which of course can break stuff if you need some kind of validation for the extra fields.
Shouldn’t multiple user registration forms with different user profile fields for certain roles be more easy to set up using a WordPress plugin that was designed exactly for this, to handle the front-end WordPress user registration part?
That’s the main reason we made sure that this process is really straight forward in Profile Builder. In this tutorial, we’ll explain how you can set up multiple user registration forms.
When to use Multiple User Registration Forms?
If you own a WordPress website that allows registration of different WordPress user types/roles there’s a big chance you would need to setup multiple user registration forms with different field types.
It makes total sense to capture different type of information from different types of users.
Whether we’re talking about Teachers and Students, Doctors and Patients, Recruiters and Job Seekers, Sellers and Buyers, all these WordPress user roles will probably need to have their own customized registration page. You might also need to redirect them to different pages after registration.
The Multiple User Registration Forms Module
Simply go to the “Modules” tab and make sure to activate “Multiple Registration Forms” and configure settings.
Setting up Multiple User Registration Forms for different user roles
After activating the module, you’ll notice the “Registration Forms” tab appearing in the Profile Builder menu in the WordPress admin. Here you’ll be able to create as many registration forms as you need.
Let’s say you are the administrator of the faculty website and you need students and teachers to fill in different fields at registration. You’ll have to create a separate registration form for each one of them.
You can choose what role the new user will have after registration (e.g. Subscriber), allow them to log-in automatically, as well as redirect new users to a specific page after submitting the form. Use the “Set Role” dropdown to select this.
For each form you can add or remove ANY of the supported user fields that are managed under the “Manage Fields” tab.
In our case, for Teachers besides the standard fields we would like to add an Experience section, where they can list their employment history as well as achievements relevant to their post.
After creating the required fields in the Manage Fields tab, we simply add them to the Teachers form and arrange them the way we need.
For Students on the other hand we create a different form, with sections such as: School Information, Languages and Reference. We follow the same steps, but we make sure to add only the fields we need for each section and remove the rest.
All that’s left to do is create two separate pages (e.g. Students Registration Page and Teachers Registration Page) and copy the two shortcodes to the corresponding page. It should look something like this on the front-end:
- This is a really elegant way of solving what used to be complicated to do. No more messing around with CSS or php hacks.
- Since not every type of user needs to have the exact same fields as everyone else, having multiple user registration forms makes a lot of sense.
- You can extend on this and have Multiple Edit Profile Forms as well, but that’s for another article.
- Go ahead and read more about Profile Builder plugin and it’s other features.