Issues assigning new members to a custom WordPress user role

On, we have Membership Pro handling the Monthly, Seasonal, and Annual memberships. For the Seasonal & Annual membership, I need the members to be assigned a specific WordPress user role for the duration of their membership. After their membership expires, I need their WordPress user role to be reduced to base level (Subscriber).

My understanding is that Membership Pro can do this. [Membership 2 > Protection Rules > User Roles]. However, I have manually added a subscriber to a membership level and their WordPress user role hasn't changed; I've also tried registering a new member but they were not assigned the role of Member either.

Why are the users who have been added to the membership level not be given the correct user level / WordPress user role?

I have setup a coupon code ADMINTEST that gives 100% off any membership.
Here is a link to the seasonal membership:

Support Access has been granted.

  • Tyler Postle
    • CGO

    Hey Michael,

    Hope you're doing well today!

    Membership 2 actually applies the capabilities of that user role. So for example, if you give one of your memberships the "editor" role then when a user signs up for it they will be given all the WP capabilities that an editor has; however, you will still see them as the subscriber role.

    Once the membership ends it will remove all those capabilities and they will be back to just regular subscriber instead of a subscriber with all the editor caps as well.

    So if in your test you try to do something that requires the role you applied to them, then they should still be able to do it as long as whatever it is requires a capability from that role.

    If you have further questions on this or it's still not working for you how I described then let me know :slight_smile:


  • Michael
    • WPMU DEV Initiate

    Okay, thank you! With that information, I was able to do some more research and found a simple fix for my problem.

    The reason that I needed the user accounts with memberships to have a specific WordPress user level is so that Event Espresso could restrict certain tickets, making those tickets 'members only', but Event Espresso is able to restrict certain tickets based on an individual user capability.

    The fix / process:

    Using the plugin - User Role Editor Pro - I was able to create a new WP User Level (Member) and new user capability (member) which I assigned only to Member user accounts.

    Event Espresso's WP User Integration add-on allows you to restrict based on WP User Level /or/ user capability. So I restricted "member only" tickets to user capability of "member".

    In Membership 2 > Protection Rules > User Roles, I gave users who purchased memberships all of the user capabilities of Members for the duration of their membership ("After this membership ends Restrict access to Visitor-Level" - a setting in Memberships > edit > Payment options).

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.