Reviewing Members by Justin Tadlock
If you look at all the membership plugins I've already reviewed this month:
You will notice they have one thing in common. They all have more than 2 features.
This is not the case with Members. It lets you create new roles with their rights, and it lets you protect content based on roles.
Two features: Role Definition & Content Protection
Every product developer could learn a lesson from Justin, because while it's a tiny feature set, it's the core of tons of sites that have used it to do amazing things.
More than 100,000 sites have used it, for good reason.
Today I'm going to show you how to create a simple membership site using three free plugins in under 20 minutes. I'm serious, I timed it. 19:56. I should have recorded it.
Let me show you how I used Members
To get started, I should mention that I only used three plugins to do this. You can see it in the screen below.
I was using these three free plugins:
Did I mention that this whole thing was free? You're getting all this functionality because of an incredible community that has shared all this code with you for free. I know. Crazy.
Once I activated Members, I headed over to the Users > Add New Role menu item and created a new role called “Members.”
The only right I gave it was the “read” right. That means people in this role will be able to read the page I protect. They can't do much else (which is good).
You'll see I created the regular pages you'd expect for logging in, registration, profile management, a home page, and a protected content page. That last page could link to tons of other protected pages if I wanted.
You'll notice I also created a Password Renewal page – and on it I also put another shortcode on it, given to me by Profile Builder so that people who forget their password can easily get a new one.
One thing to note. When you want to use the shortcode given to you by the profile builder plugin, you'll want to make sure to add a parameter so that it registers people into the specific “member” role you create.
For me, it was: wppb-register role=”member” (in brackets)
The time it took to do all of this was the time it took to click to these spots and either create a page, copy/paste a shortcode or hit publish.
Protecting Content with Members
Then I went to my Membership Content page and protected it, with the meta box that is on the content page, put there by Members.
If I had wanted, I could have created a special error page, but the default one is defined in the Members plugin settings page and it works fine for me.
Once you have the pages created and protected, you're simply left with the menu structure – both how to show it, and who gets to see it. You'll also have to create an easy way for people to login and get routed to your content.
Both of those other plugins make this easy.
First I added a widget and then I added a menu.
You'll notice all I needed to do was drop in the urls to the pages I'd already created.
The Menu wasn't much harder. You'll see that each menu item now has the ability to determine who should see it – based on roles defined by Members.
If you're not logged in, I wanted you to see the “Login” menu. If you're logged in already, I would like you to not see that, and to see the Profile management page.
When you put it all together, you get two different menus based on if you're logged in or not.
The menu and the widget work together to show you that you're logged in. And in the other case, you'll see a different menu and a way to log in.
Observations on Members
There's several reasons why 100,000+ sites have used Members.
First, because it is scoped tightly, it can be used with many different plugins. You'll notice that the Nav Menu Roles plugin doesn't know anything about Members, but works with it cleanly because all it knows is that it is protecting menu items by the role that is already configured in WordPress. It doesn't know who created it or is managing it, and it doesn't matter. Members just does it's thing.
Second, it doesn't get in the way of what you're doing, or try to do too much. There is no question that Justin knows what he's doing and knows the “WordPress way” to integrate his plugin into the core of the WordPress code. So it snaps into place easily and effectively but doesn't overreach and try to do too much. The result? You can use PayPal, Stripe, or anything else to collect payment and Members doesn't care. It will simply do the two things it's meant to do, and let you do the rest on your own.
Thirdly, no matter its score on my scale, it's a worthwhile plugin to use. I know I say this with most of the reviews I'm doing. It's because I know someone is going to look for the highest score and go with it. But the right plugin is the one that does what you need it to, no more and no less. Members is that kind of plugin for many people.
Again, this is one of those plugins that I would score a 10 on ease and speed, but my current scale is only to 5.
- Ease of Use – 5
- Payment Gateway Support – 1
- eCommerce Support – 1
- Drip Support – 1
- Concurrent Accounts – 5
- Pro-rating Charges – 1
- Upgrades / Downgrades – 1
- Speed of setting it up – 5
The Members Score: 2.5
Note: If you're trying to build something complicated, you're likely going to use this as a baseline and build other features around it. That's why this is a developer-favorite and you would likely score it a perfect 5.