I'm trying to make a registration form with a registration process like the following. Can it be done?

These are the fields for the registration form.

Email Address
First Name
Last Name
Contact Tel No
Company Name
Address (room for 3 lines of text)
Industry (drop down list)
Product Interests (tick box / multi choice)
Status (drop down list: End User, Reseller/Partner, Distributor, Other). If other selected then 'Other' free type box appears.
data consent tick box (a tick box which is default to being 'ticked' should show 'Opt-in to receive relevant information concerning products and services')
anti-spam widget (to avoid robots trawling the site can we add an anti-spam verification box for submissions)

All fields are mandatory *

If the user selects `'Reseller/Partner'` then the process is as follows:

Confirmation message on screen:

"Thank you for registering to become a Partner. This request requires authorisation and you will be notified shortly when the autorisation is complete."

  • User receives confirmation email with text similar to above
  • Site staff (custom/any role - pre-defined) receives email containing the users information and requesting that they authorise the user from a system staff (custom/any role - pre-defined)
  • Site staff (custom/any role - pre-defined) authorises the Partner username
  • User receives confirmation email to say "Congratulation! You have now been approved for Partner access to www.example.com/partners."
  • User can now login and the system automatically redirects to the Partners page

If the user selects any status *other than 'Reseller/Partner'*, the process is as follows:

  • Confirmation message on screen - "Thank you for registering. You will know be directed to the My Printer page.
  • User is directed to the My Printer page
  • User receives confirmation similar to text above
  • Site staff (custom/any role - pre-defined) received email containing the user information

Can this sort of thing be done?


  • "Can this sort of thing be done?" Yes: With lots of effort. I can give you a list of hooks as starting point, but I'm not going to code you a list of plugins. So: Is this enough for you?
    – kaiser
    Commented Feb 10, 2012 at 12:11
  • Thanks for that however i ended up not bother because i thought it couldn't be done. Now it's too late and not possible for me to do.
    – Corbula
    Commented Feb 11, 2012 at 11:52
  • People are investing time and brain to answer your Qs. You should be so nice in return to follow your Q or simply flag and delete it to avoid that someone invests time for something that you don't need. Thanks.
    – kaiser
    Commented Feb 11, 2012 at 12:07

3 Answers 3


For something like this, I would look to the Gravity Forms plugin. http://gravityforms.com

It allows you to have conditional logic, where a field only shows up if a certain field is selected. For this situation, I would make different gravity forms that only display if a checkbox is marked (reseller/partner...and so on). This way you can have different fields for each section and each form can send a different confirmation email. It's also possible to filter the output email from Gravity Forms based on certain conditions with hooks. Same is true with the confirmation messages, you can add html to adjust the message to your needs.

  • Thanks, but has anyone got any other suggestions other than gravity forms? Can gravity forms even be used for registration? i thought it was for contact forms.
    – Corbula
    Commented Dec 5, 2011 at 14:43
  • Just looking at Gravity Forms, and the User Registration Add-on is only available for the developer package i.e. $199. That's not an option for me. I need another way of doing it.
    – Corbula
    Commented Dec 5, 2011 at 17:51

Ended up not doing this. As mentioned in the other answer Gravity forms may have worked but not sure as i've never used it. I just left the registration as it was and manually change peoples roles.


I was also trying to work on same stuff,finally after lots of effort i got solution.

Used plugin: http://wordpress.org/plugins/wp-roles-at-registration/

Add these lines to your function.php

add_role('user', 'User', array(
'read' => false, // True allows that capability
'edit_posts' => false,
'delete_posts' => false, // Use false to explicitly deny

remove_role( 'company' ); 
add_role('company', 'Company', array(
'read' => true, // True allows that capability
'edit_profile' => true,
'delete_posts' => false, // Use false to explicitly deny

On my end everything working fine.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.