Advice on two-level registration with approvals

I’m trying to figure out how to enable this course of events, for a small non-profit association. I am technically experienced but have limited experience of Wordpress and s2member.

Given an interested non-member X:

  1. X fills a form for the membership application, few profile fields.
  2. The board receives an email about this and takes a position. If we approve membership, someone registers it on the web in some way.
  3. X receives an email about this and pays the membership fee, preferably via the web. Otherwise, someone must register when payment has been received.

Now X is a member, level 1.

If X wants to also market his services on our web:

  1. X fills in more profile fields.
  2. The board receives an email about this and takes a position. If we approve the info, someone registers it on the web in some way.
  3. X receives an email about this and pays the marketing fee (as 3 above).

X is now a level 2 member.

All members should be automatically asked to pay according to 3/3 + 7 every year, otherwise their membership level changes.

I thought of making (5) possible through making a set of fields only visible on level 1 and ask the user to edit their profile. But if some of those fields should be non-editable will they be possible to fill in then? If they were not filled at (1) and have no value?

I gratefully receive hints and advice!

Peter Svanberg

No response – too complicated?

If I make all fields only visible on level 1 editable, then (5) would work. I don’t think this would be a problem. But a notification to admin when (and how) users edit their profile would help. Is that possible?

You can do all of that, but you will need to custom program it and then maintain the code as WP changes. If you can’t program WP yourself, you will need to hire a developer.

OK. I have programming experience but not with WP.

  1. What aspects need programming? Mainly the (5) aspects? Or also the emailing parts?
  2. Do you mean changes in the s2member plugin codes?
  3. Is this not of general interest, to be included in the plugin?