I would like to implement a registration process that distinguishes between two types of users:
Vendors – users who will be listing services.
Regular Users – users who are just browsing and booking services.
Here’s what I’m aiming for:
During registration, users should be able to: select whether they are a Vendor or a User.
Based on their selection:
2.1 Different profile attributes/fields should be displayed and saved (e.g., Vendors might need to provide business name, services offered, etc., while regular Users might not).
I’ve checked the HivePress settings and extensions but couldn’t find a straightforward way to achieve this.
Questions:
What’s the recommended approach to implement a role/type selector during registration?
Is it possible to show different custom fields based on the selected role/type?
Any guidance or code snippets would be greatly appreciated!
My additional idea is to create a custom user attribute called “Account Type” (e.g. User vs Vendor) during registration. Based on the selected option:
If Vendor is selected → allow the user to submit listings and show vendor profile fields.
If User is selected → hide the “Add Listing” option and treat them as regular customers.
I’m currently using a custom user attribute (typ_konta) created via HivePress → Users → Attributes.
How can I conditionally enable listing submission and show vendor fields only if the selected account type is “Vendor”?
Would this require:
A code snippet using option_hp_listing_enable_submission?
Custom logic to enable vendor creation only for selected users?
Conditional field visibility based on that attribute?
If you want to show or hide the Add Listing button based on a selected attribute, this will require custom development work. If you have coding experience, we can provide general guidance on how to achieve this functionality. Alternatively, you may want to consider hiring a verified HivePress freelancer to implement this customization for you.
The default process for changing account types involves adding a listing. Once a user adds at least one listing, they automatically become a vendor. In other words, the Add Listing button serves as a way for users to choose their account type on the platform.
The easiest way is probably overriding the Add Listing button via a child theme, you can do this by copying this file to the child-theme-folder/hivepress/listing/submit directory hivepress/templates/listing/submit/listing-submit-link.php at master · hivepress/hivepress · GitHub Then you can change the condition before the button to check if the user is logged in and this custom select field you added has the “vendor” value selected, this way the button will be hidden if the current user is not a vendor (didn’t indicate this in the select field). Without listings, users have regular accounts without the Listings and other menu items intended for vendors only.