One of our clients wants to build a membership-based site, with several different membership levels and options. And of course, both Joomla and WordPress options for fine control of who-sees-what are relatively limited.
Both systems have very basic authentication protocols, where you can hide posts from users who aren’t logged in, but neither have any sort of system allowing several levels of privileges (WordPress’s role system is geared towards posting rights, not reading rights).
Enter the Role Scoper plugin, by Kevin Behrens. It’s still in development, but it offers the level of control my client is looking for. And, after spending an afternoon playing, it’s relatively easy to set-up.
How to set WordPress categories to different members only groups
- Create your categories and populate them with articles (even if they’re filed with nothing but random characters). This is helpful. Really.
- Go to the “Groups” tab, and create your groups (e.g. a group for each class or membership level). Don’t worry about populating the groups with members just yet.
- Go to the “Roles” tab, then the “Exclusive Sections” sub-tab. For each category where you want to limit who can read, check the box next to “Post Reader”. When you’re done, scroll back up to the top of the page, and make sure “ignored – equivalent section/object role required” is selected in the drop-down list. Click “Update.”
- Go to back to the “Groups” tab, and click the “Section Roles” sub-tab. Check off one group in the “eligible groups” box (Membership level 1, for example). Now scroll down to the appropriate category, and check the box next to “Private Post Reader”. Scroll back up to the top and click “Update.” Do the same thing for each group.
- Go back to the “Groups” tab and add/manage your members!
While there are other plugins out there that do similar things, Role Scoper offers the most granular control over who can see what on a WordPress site.
I’ll be even more excited when I get the French translation done.