Creating Two Member Profiles with Different Login Forms

I want to create a site with two different types of users, one paid and one unpaid, using s2member free. These two users create two different types of profile, theoretically using s2member’s profile forms feature, and then have those forms be indexed and searchable by the other type of user. However, I’m having trouble implementing it. How do I create two types of user profile form? This would be one for a level 0 member and one for a level 1 member. And is there a way to make each type of profile searchable by the other? I.e. if I’m a level one member, I want to search for level 0 members by username, etc.

You can use customized Login Welcome Pages using simple conditionals ([s2If]).

1 Like

Yes, I tried that. But it’s more than just creating custom login welcome pages. I want the actual registration forms that s2member makes to be different for each type of user. The problem is that I don’t know how to make two different types of forms that each save to the different user’s account. I’m not really a coder so I’m really struggling.

Ultimately I know I’ll need a customized login page for each using the s2If. But in order to get there, I need to create the actual forms that denote each user’s information. And from what I could see, the [s2Member-Profile /] code only allows for one profile form.

Okay, you are talking about three things here:

  1. Custom registration pages (Pro-Form Templates): See https://s2member.com/kb-article/s2member-pro-forms/#-customizing-pro-forms

  2. The customized LWP.

  3. The Member “Profile”. You are right in thinking that there is only 1 [s2Member-Profile /] shortcode. That does not mean the fields presented are the same for everyone. For one thing, you can assign s2Member Custom Registration/Profile Fields to specific membership levels. Second, you can augment the information presented by[s2Member-Profile /]` with other code on the LWP. In addition to the LWP KBA I recommended earlier, see: https://www.s2member.com/kb-article/s2get-shortcode-documentation/.

If can explain specifically what you are trying to do, I’ll be happy to try and provide more specific recommendations.

1 Like

Thanks for all of the advice! So basically, I want to create a platform for two types of members. One member can create a profile for free, and the other type has to pay. The member that pays creates not only a profile but can also create job postings that the first type of member can apply to. I’m getting stuck in making two different types of form-- although maybe conditionals could solve that, and also in creating the posts.

I’m afraid I’m still not following what you are trying to do with s2Member. Let me tell you what I think you said and how I’d approach it. If I’m way off track, please clarify. :wink:

Member Type 1: Employers
Member Type 2: Job Applicants

Since it sounds like you want to place either the form for creating job listings or the job listings on the Login Welcome Page, you’ll need to use Custom Capabilities instead of, or in addition to, Membership Levels. That’s because s2Member Membership Levels are hierarchical: if a MEmber is Level 2, for example, he can see content for Levels 0-2. So you could not hide the job listings on the LWP with just an [s2If] for Level1. You’d need to use CCAP access instead.

So, depending on whether you have other content you want restricted to only Employers, you could either assign both Member Types to Level 1 or assign Applicants to Level 1 and Employers to Level 2. Also assign Employers a CCAP of EMP and Applicants a CCAP of APP (for example). Then set up your LWP as follows:

[s2If current_user_can(access_s2member_ccap_emp)]
   Content for Employers
[/s2If]
[s2If current_user_can(access_s2member_ccap_app)]
   Content for Applicants
[/s2If]

I think this is a good place for me to start. I really appreciate your help. Some other things I am confused about…

Right now s2Member allows you to make a profile using the shortcode: [s2Member-Profile /]. But if I want the employers and applicants to have different profiles, how do I make that? I can add content to a location that is only viewable by one, but I don’t know how to make a separate profile for both types of user. Really the part that I don’t get is how to associate the information that a single person inputs into that person’s specific profile. I can do it with the shortcode for one type of user but I don’t know how it happens on the backend. Do I need a physical server to host the data? Or is that only necessary for really large sites?

I guess the reality is I don’t entirely understand how building a website with users works, especially when the point is that the profile is the main part of the site, as opposed to like an ecommerce site where the goal is to buy things and the profile is somewhat secondary.

Take a look at Custom Registration/Profile Fields. These are Custom Fields that you can assign to specific Membership Levels (so you would need to use Membership Levels as well as CCAPs to differentiate between Employers and Job Seekers. These custom fields may or may not do everything you need. If they don’t, I recommend Pods for creating Custom Post Types (Note: Corrected this. I previously used the word “Fields” which isn’t technically accurate) although there are many plugins that do similar things. With Pods you can even create separate database tables thus everything doesn’t have to be in the Usermeta table. That said, this kind of database work really requires a developer.

Okay, so far this is working pretty well. One (hopefully) final question… If I want to add a field with a variable number of entries (for example, adding multiple previous jobs) is that possible on s2member? Or do I need to use something else?

s2Member only has one type of multiple-entry field: a dropdown, so that probably won’t work for you. A Custom Post Type is really what you need for things like Jobs anyway. You could create a “Jobs” Custom Post Type and assign all the related “fields” to that Post Type.

I can’t recall, and can’t find, whether you are using s2Member Pro or the free version. If you are using Pro the best way to tie a Custom Post Type together with an s2Member registration form would be to use a Custom Pro-Form template. As for creating the Custom Post Type, as I said above, I like Pods.

I am unfortunately not using Pro… Is it possible to tie the posts without?

Not while integrating the Custom Post Type to the form. You could have a second form, but that would look strange. Maybe someone else has a better idea?

You could always use jQuery to add this feature. For an example, see this: http://jsfiddle.net/jaredwilli/tZPg4/4/

But you’d need to make sure that the content in the fields gets saved properly.