How to Set Different Registration Fields for Vendors and Users

Hi HivePress team and community,

I would like to implement a registration process that distinguishes between two types of users:

  1. Vendors – users who will be listing services.
  2. Regular Users – users who are just browsing and booking services.

Here’s what I’m aiming for:

  1. During registration, users should be able to:
    select whether they are a Vendor or a User.
  2. 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:

  1. What’s the recommended approach to implement a role/type selector during registration?
  2. Is it possible to show different custom fields based on the selected role/type?

Any guidance or code snippets would be greatly appreciated!

Thanks in advance!

Hi HivePress team :waving_hand:

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?

Any advice or example would be much appreciated!

Thanks in advance :raising_hands:

Hi,

By default, users become vendors only after adding at least one listing that gets approved.

If you don’t require vendors to have at least one listing, please use this article. This way, users can register as vendors directly without adding listings: How to add a vendor registration form - HivePress Help Center

To add role-related fields, please check out this guide. Note that it’s also applicable for users: How to add vendor profile fields - HivePress Help Center

Hope this helps

1 Like

Thank you for the answer, but I want to conditionally enable listing submission only if a specifc attibute for user is selected (typ_konta).

  • 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.

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.

Hope this helps

Please provide a general guidance on how to achieve this functionality.

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.

Hope this helps

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.