I need to create a membership site with the following feature: In a single registration form, I need to present the future user with multiple choices, in the form of various sets of radio buttons. In each set, users should only be able to chose one option.
Set 1: Are you veggie or carnivore?
A: Veggie B: Carnivore
Set 2: Are you female or male?
C: Female D: Male
The options A, B, C, D need to be mapped to some kind of Groups, Categories or User Roles. I need then to restrict content according to these choices: One user could be “Female” and “Carnivore” and would see a picture of (or a post about) a steak, another would be “Male” and “Veggie” and see a salad. Any combination of options should be possible.
Users should also be able to change their choices later on by themselves: a user should be able to become a “Carnivore” after being a “Veggie”, for example. This should happen through some kind of profile editing feature on the front-end of the website.
There is no need to integrate any kind of payment procedure. Bonus points for a multi-step registration procedure.
Even if the project will need to have more sets of options – the scenario is pretty straightforward, isn’t it?
Needle in a haystack
I tried quite a few WordPress membership plugin solutions now. Kinsta has a post with an extensive list its blog, I went through almost all viable ones.
I already had experience with Ultimate Member (available in the Repository and with some premium extensions). This did not work: There is a “User Tags” extension, but I was not able to present these as radio buttons. There is also no way of filtering content according to these tags, only according to user roles. Ultimate Member does not support multiple user roles, though, rendering this plugin as unsuitable for my project.
Another option I tried was ProfileGrid in combination with its sister plugin RegistrationMagic. This solution does support restricting content according to “Groups” while users can be in multiple “Groups” at once. But, as far as I understand, registration to multiple groups cannot be done through a single form.
“Help me if you can, I’m feeling down…”
Does anybody know a suitable solution? Please reach out to me through the comment section below or via @voneff on Twitter. Thanks!