Blocking certain users

Hi everyone,

We are trying to figure out a way to ban problematic members from paid subscriptions. I’ve searched the forums and saw a few options for blocking entire email domains, but we just need to be able to block individual people.

Is there a way to do this?

I considered changing the role to a certain level, but if they sign up and purchase a membership again, it changes their role to one that can see everything/use their account.

Interesting problem… If we stop certain members to buy membership, what will stop them to buy membership with another email address?

I had similar situation, I have implemented password protection to my Upgrade page, so who wanted to buy membership had to go through ID card and selfie identification before receiving the upgrade passwords.
In the beginning it helped but I lost many members because of this.

I would guess nothing would stop them from creating a new email and rejoining. That being said, we’ve found that most of our “problem members” are a bit lazy and probably wouldn’t go to those lengths for our service (or at least it would curtail quite a few of them).

@iTesla I appreciate your suggestion, but for the reason of losing members you mentioned, that wouldn’t work for the scale and scope of our business.

Another option is upgrade members manually, for example after payment to default them to Free Subscriber and then upgrade them manually to the proper level they paid for.
Also i know in paypal you can block payments from specific users, if you use PP you can block their payments so they don’t Sign Up.
I will think of other ideas, maybe you could share the website with us?

What I’d do is give them the subscriber role, and then use shortcode conditionals to hide the subscription forms from users with that role.

Thanks for the idea Tim! Would there be a way with conditionals to show sign up pages to people who have no account at all but not to people with subscriber level? Also, we do have some people who cancel their account and come back later that would probably get caught in that as well.

Try wrapping the form in these conditionals:

[s2If !current_user_is(s2member_level0)] form goes here [/s2If]

This means that the form will be shown to anyone who is not a subscriber.

If their account is deleted, the method I’ve just demo’d will work fine. If they get demoted to subscriber, then you’ll need to create a special role for your problem children and modify the shortcode accordingly to avoid catching the demoted users too.

Thanks Tim, that’s extremely helpful. Is there a way to use the conditionals to only show to a certain level and below? We already use level 1, 2, and 3, but we don’t use level 4. If we made the problem folks level 4, would there be a way to show the form to level 3 and down as well as people without accounts?

[s2If !current_user_is(s2member_level0)] form goes here [/s2If]

Would that show to people who had no account yet at all? I’m probably confused but I thought level 0 was the subscriber level.

The ! in the conditional means “not”. So that code is saying “show the form to anyone who is NOT a subscriber” (which includes anyone who has no account at all).

The problem with setting your problem children at level 4 is that s2member levels are hierarchical. So, by default, you’d be giving them access to everything at levels 1, 2, and 3. You would need to use a plugin like User Role Editor to remove the ability to access those levels from level 4. Then you could modify the shortcode conditional like this:

[s2If !current_user_is(s2member_level4)] form goes here [/s2If]

Again, note the use of ! to mean “not”: everyone except those at level 4 will see the form.