I'm totally new at WordPress and I'm setting up a site where I want members-only pages. But I also want my members to be able to login with there social network logins (Facebook, Twitter, OpenId, etc).

If possible, I would also want to allow non-members to comment on public posts, but not view (and so not comment on) members-only posts.

Is such a thing possible with WordPress and/or a certain (combination of) plugin(s)?


I've managed to find a solution to my problem. I solved it with three plugins

The combination of these plugins allows you to who can log in, without telling them how to log in. More specifically, anyone will be able to log in with a social network, but they won't be able to see everything. With User Role Editor, you can make a new role based on Subscriber. I called it 'Unknown'. Set new users to get this role, instead of Subscriber.

Now, with the Members plugin, you can determine what roles get to see a page/post. I set it for everyone by default (when you don't check any checkboxes). but if I want a 'members only' page, I can check the necessary checkboxes, and 'Unkown' users won't be able to see this page (or get a message that they don't have access to this page).

Finally, the Social Login plugin allows people to login with Facebook, Twitter, etc. It requires a registration with OneAll, but I found that to be fairly user-friendly and quickly set up. Now, a new user can log in with Twitter for example. He/she will be added to the users of our WordPress site, but will have a role of Unknown. Now I can verify if this is a user known to our sports club and assign the role of 'Subscriber' if necessary.

Presto! Choose who can see certain content, not how they get to that content.

| improve this answer | |
  • Good explanation! +1 :) What happens if a service goes down like Facebook recently? – fuxia Apr 17 '12 at 8:27
  • Good point! I guess the users couldn't log in then. Maybe there could be a fallback mechanism where they log in with the username and password from WordPress. The Social Login plugin adds them to your Members area when the first log in (with Facebook for example), so they're just regular members that can log in with Facebook. I'd have to test that though. Also, I don't know if it's possible to have one member record linked to different social account (e.g. Facebook and Twitter). Then again, I'm not sure my usage scenario needs this. My users probably can wait a while. – Peter Apr 17 '12 at 10:31

Sure... there are several wordpress plugins that enable
Social login with numeros social websites..

here are a couple:

  1. WordPress Social Login
  2. Social Login

THe second one includes Open ID...

Hope this helps, Sagive.

| improve this answer | |
  • But I want to be able to limit it to my known users. So, for example, Adam Ant is registered in my site and can login with his Facebook account, but Brigitte Bardot isn't registered so can't login with her Facebook account. – Peter Apr 1 '12 at 12:54
  • i see... well, that defies the whole idea of login socialy which usally means no registration requires... so.... i guess those wont fit you, sorry.. – Sagive SEO Apr 1 '12 at 14:18
  • I agree, but it is to avoid users having to get yet another login. Most parts of my site will be public anyway, but some pages should be private (because of personal information, only to be shared within the group of members) – Peter Apr 1 '12 at 14:35
  • i understant but i dont see the need to login in order to prove your a member of that group and then login again using facebook... what for? – Sagive SEO Apr 1 '12 at 14:51
  • Ah no, I would like to be able to control who can login, but let them decide how they login. So, Adam Ant is a paying member of our sports club and can login with his Facebook account to view the other member addresses. But anonymous users shouldn't be able to see this information. So in short: I need to determine the WHO, not the HOW. – Peter Apr 1 '12 at 15:29

Not the answer you're looking for? Browse other questions tagged or ask your own question.