Membership plugin and multiple registration forms and/or role specific profile fields

Good day. I have a question about your Membership plugin. I want to create a membership website for teachers and students. I want teachers to fill out one registration form with specific fields to the “teacher” membership role, and also students to fill out a completely different registration form with different fields specific to the “student” membership role.

In addition, if members of the “teacher” membership role want to edit their profiles, they should only see the profile fields specific to the “teacher” membership role and NOT see any of the profile fields that are specific to the “student” membership role. And vice versa for students’ profiles.

I think I read a post on your forums that the Membership plugin does NOT support the ability to create two different registration forms. Is that still true?

If not, and I can only have one registration form, I think I can make it common enough between the two roles. But what I would really need for the Membership plugin to do is to show and/or hide specific profile fields depending on the member’s role. For example, I can make the registration form for teachers and students basic and just includes fields like name, email, and city. But then, based on the membership role they sign up for, when members of each role tries to edit their profile, they would see additional profile fields specific to that role.

For example, a teacher might have the ability to add their work experience, and a student might have the ability to add their favorite subjects. But, members of the teacher role won’t be able to add their favorite subjects because they won’t see that field (because the favorite subject field is specific to the “student” role), and members of the student role won’t be able to add their work experience because they won’t see that field (because the work experience field is specific to the “teacher” role.)

Is this possible with your Membership plugin?

  • Patrick

    Hi @Nick

    I think I read a post on your forums that the Membership plugin does NOT support the ability to create two different registration forms. Is that still true?

    That is still true, yes.

    Also, the recommended way to enhance the Membership registration is by using BuddyPress and its excellent x-profile fields feature. Note that BuddyPress is fully modular and is comprised of several community components that you can enable only if needed. If you don't need 'em, don't enable 'em. :slight_smile:

  • Nick

    Thank you for your reply Patrick. I looked into BuddyPress for profile functionality, and spoke with one of their developers, and it was decided it would not work for my case. I am using a plugin call User Profiles Made Easy (you can see more info about it on CodeCanyon.net.) That plugin handles all my profile needs. Now I just need to figure out a way to have specific membership roles have the ability to view and edit profile fields (after registration) that are specific to that membership role. Can the Membership plugin do that?

  • Patrick

    Hi again @Nick

    If the profiles are displayed on your site pages, then yes, Membership can help you there. :slight_smile:

    When creating or editing your Membership access levels, you can set a specific user role for the level under the Advanced tab.

    Click that tab and scroll to the bottom of the screen to set the user role associated with that access level.

    From then on, any user on that level will be automatically assigned that user role.

    You can then set any capabilities you require for each user role.

  • Nick

    Hi Patrick,

    Okay I am getting this. That is a very interesting idea. I think that would work!

    But let me thrown one more thing out there. If I associate a role with a membership level, at some point I will run out of roles. Also, if I have, let's say, 5 membership levels. I can assign one level to the "Subscriber" role. But then for the second membership level, I have to assign it to the next role, "Contributor" and so on. But I don't want the third, fourth, and fifth membership level to be assigned to a higher role that grants so much access.

    Wouldn't I have to find a plugin or a way to create new roles? If so, I would create new roles with the same access as the "Subscriber" role, and then use the User Profiles Made Easy plugin to show ad hide custom fields for specific roles (the new roles I just created.)

    What do you think?

    Thanks!

  • Patrick

    Hi again @Nick

    I hope you had a great weekend!

    Wouldn't I have to find a plugin or a way to create new roles? If so, I would create new roles with the same access as the "Subscriber" role, and then use the User Profiles Made Easy plugin to show ad hide custom fields for specific roles (the new roles I just created.)

    That is exactly the right thing to do. :slight_smile:

    You can use a plugin like this one to create as many new custom roles as you like to assign to your Membership levels:
    http://wordpress.org/plugins/user-role-editor/

  • Nick

    Hello!

    All this information has been incredibly helpful! I have a few questions about the Membership plugin related to this.

    #1) I am using another plugin that I created custom fields for a user's profile. Luckily, all the fields and data are stored using WordPress user meta data. That plugin uses a registration page, a login page, and a profile page.

    Since I am using the membership plugin, should I NOT use the registration, login, and profile pages of that other plugin, and ONLY use the registration, login, and profile pages that came with the Membership plugin?

    Or can I use either, or mix them?

    Both the other plugin and the Membership have their own short codes to place on these pages. For example,if I put both short codes on the Register page, I have two sets of fields: the other plugin has one set with a submit button and of course the Membership plugin has the sign up buttons, so I know I can't have both on the same page!

    #2) I have 2 types of audiences, each with 3 levels of membership, for a total of 6 subscriptions. I know I can add the [subscriptionform] short code on a page to see the details and sign up buttons for each subscription level.

    I don't want to see all 6 subscription levels on one page. I want 2 different subscription pages with 3 levels and sign up button on each page.

    Is that possible using the [subscriptionform] short code? If not, would I use the other type of short codes with the Subscribe Buttons, and just place 3 of them on one page, and the other 3 on another page? Or is what I want not possible with the Membership plugin?

    #3) When using the Subscribe button short codes, how can I style the output of each short code? For example, when use the Subscribe button short codes on a page, the information that gets displayed is just a dump of black text. I want to make the output a little more visually pleasing like what you see if you use the [subscriptionform] short code.

    Thank you!
    Nick

  • Patrick

    Hi again @Nick

    Sorry about the delay; quite a backlog in support this week.

    For your question #1, if you are using the Membership plugin, you must use the registration form from Membership so that all subscription data is properly recorded.

    The Membership registration process starts with the user selecting the subscription and is then redirected to the form to enter their account information.

    The ability to add more custom field data to the registration form is a request that comes up quite often in support, and the developer will be considering ways to integrate that in a future version (currently working on a major rewrite to simplify the whole process).

    In the meantime, this post may be of interest to you:
    https://premium.wpmudev.org/forums/topic/posting-user-meta-in-registration-form-on-membership-plugin

    For #2, yes you can use the additional shortcodes that you see at the bottom of the usage page to create your custom subscription pages, and display only those subscriptions you want on each page:
    https://premium.wpmudev.org/project/membership/#usage

    For #3, the easiest way to style the output is to wrap each shortcode in a div container with a custom class or ID. Then you can write up any CSS you want and add it to the style-sheet of your active theme/child-theme (or use a handy plugin like Simple Custom CSS for all your styling needs).

    For example, the following CSS:

    #my-sub-title {background:#ff0;}
    #my-sub-details {background:#06f;}
    #my-sub-price {background:#0f0;}

    ...could be used for this shortcode arrangement:

    <div id="my-sub-title">[subscriptiontitle subscription="1"]</div>
    <div id="my-sub-details">[subscriptiondetails subscription="1"]</div>
    <div id="my-sub-price">[subscriptionprice subscription="1"]</div>
    <div id="my-sub-button">[subscriptionbutton subscription="1"]</div>

    You can see the result at the top of this page on one of my test sites here:
    http://rockysroad.me/register/

    Directly beneath is the default output.

  • Nick

    Thank you for the reply! I understand everything you explained.

    Once the user is registered and signed up to a subscription, can I have that user login to his profile (not his subscription page) through the other plugin (User Profile Made Easy) where I have created custom fields for? Or are all the Membership specific pages (including the login and the my account) required to make the Membership plugin work?

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.