The Way Most WordPress Membership Sites Work
When you create a WordPress membership site, you start by creating membership levels. This is the context that will support everything you do – from charging, to determining who has access, to your renewal cycle. So the membership level is at the core of most membership plugins.
The other context that drives a lot of decisions you have to make is your payment gateway. This is an unfortunate fact. You would like to be able to decide how you want your membership program to work, regardless of how you plan to get paid. But unfortunately, that's not the case. Who you use, and the features of that gateway, will often restrict what you can or can't do.
These two factors impact how most WordPress membership sites work today.
Things I Like & Can't Stand
If you don't know by now, I don't like Paypal. I love Stripe. Not everyone can use them, since they currently only support the US and Canada -but for now it's a trade-off I'm willing to make because of my extreme displeasure with Paypal. That said, this isn't a bash Paypal post – but their gateway definitely restricts what membership plugins can and can't do.
Because the gateway is a reality, sometimes you need to pick your WordPress membership plugin based on the gateways they support. I hate that, but it's true. If you haven't seen it already, I wrote an entire article about the various membership plugins and how to pick the right one. The short answer is that the right answer depends on what you care most about.
That said, I do have favorites, and one of them is Paid Memberships Pro.
One of the impacts that gateways have on membership levels is that they often control how plugins define membership periods. This is because the gateways like to charge for specific periods (like every x days, x months, x years). While this is normally great, it can have a serious impact on your design if you're trying to do something different.
For example, my offline Leveraging Trust content will power a new online site next year (more news soon). But what if I wanted to create a preview site that would last from now until the end of the year?
What I'd want is a membership that can start at any time but must end on December 31st? Or January 15th (when I'll likely launch it)?
To do that, I'd need to make sure my membership plugin supports a fixed end date. And while most of them don't announce that feature, sometimes a little code will solve the problem.
How to create a fixed expiration date in Paid Memberships Pro
Want the code directly instead of looking at an image? Head over to github.
So that's how you do it in Paid Memberships Pro. Are you guys using something else? How do you do it?