Review: WooCommerce Membership by RightPress

Review: WooCommerce Membership by RightPress

What follows is a real world case study in how I used the WooCommerce membership plugin by RightPress.


One of my clients originally approached me with a membership website running on WordPress and the Magic Members plugin. Unfortunately the plugin had been badly configured and users were becoming despondent with the website and membership numbers were in decline.

After some work the membership website was running a lot better, but I was never really happy how some parts of the plugin worked. When it came to styling I was severely restricted, and resorted to writing custom templates and functions to override a lot of the plugins ‘pages’.

Fast forward a year and the website owner wanted to add in some new membership packages, and change how a few things operated. The time was now right for a switch of membership plugin to something that offered a lot more flexibility, something more developer friendly.

Choosing a WordPress membership plugin.

Here’s what we needed from the plugin.

  • Multiple plans
  • Variable membership lengths per plan
  • Variable prices
  • Top-up access
  • Easy to restrict content

The website in question didn’t need recurring payments, instead users purchase access in varying lengths e.g. 5 days access to plan 1, 2 weeks access to plan 3 etc.

We also needed to be sure that when a user re-purchased access (top-up) their expiry date was extended (if their access to that plan hadn’t expired) by the number of days purchased, rather than calculating access length from the purchase date.

WooCommerce membership plugins.

WooCommerce is developer friendly, so I knew I wanted to use this plugin to handle the shopfront and payment side of things. I Then set about testing suitable membership plugins that played nicely with the WooCommerce plugin.

First up WooCommerce Memberships.

The first test was with WooCommerce’s own memberships plugin “WooCommerce Memberships” (I’ll write a review at some point). Unfortunately this plugin didn’t handle the topping up of access, e.g. a user with 5 days access left purchases another 5 days access – I needed the expiry date to now be in 10 days’ time, no it was still in 5 days’ time.

To be honest I could probably have worked around this and coded something, but the plugins price starts at $149, so I thought I’d look at other options available.

Next was Membership by RightPress.

Once activated a new top level menu appears underneath the WooCommerce products: Membership – with Plans, Add Plan and Settings under this. It’s refreshing to see such short settings screens with few options to learn.

I quickly added some new plans. For this project I set up 7 different plans, but this could easily be bronze, silver, gold etc. What’s nice about this plugin is that the ‘plans’ end up as WordPress capabilities, for example, if you add a plan called ‘Free Access’ you’ll be adding a WordPress capability ‘free_access’ – which means you can also make use of standard WordPress functions to test if a user has a certain ‘capability’ or not.

Setting up the WooCommerce membership products.

With the membership plans set-up I now started adding some products in WooCommerce. For this project I made 7 products – to match each of the plans I created earlier.

Using variable products, each was set up offering 4 membership lengths; 1 week, 5 weeks, 10 weeks and 30 weeks. RightPress’s membership plugin allows great flexibility in this regard; products and variations can be linked to any number of plans offering a lot of possibilities to set-up your membership site as you see fit.

Testing RightPress WooCommerce membership.

I added a few test users to WordPress, and then switched to the membership Plans to manually add these to a few different plans.

I edited a few posts and added some restrictions using the new ‘Restrict Access’ meta box, in this case I used the ‘Members with Specific Plans’ option and then a single ‘Plan’ for each. Again, this plugin offers some great options on how you want to restrict access to your content.

Logging in as my test users and everything worked fine – but it definitely needed some polish on the user experience side of things.

Additional Work on website using RightPress WooCommerce membership.

Out of the box the plugin will simply redirect someone without the proper access to a url of your choice, you’d probably set this up to redirect to a login or your WooCommerce shop page.

In this particular project the client had been using the Magic Members plugin – and was using a shortcode to partially restrict the post contents, he was used to doing this and happy to continue so we decided to change how the plugin restricted access.

Once some of the plugins content restriction filters were removed new ones were written to display messages to users – rather than the redirect of the standard plugin. The messages also display links to products that will allow access to whichever post the user is trying to access.

In order to respect the old [private][/private] shortcodes that were scattered throughout the websites content (a magic members shortcode) a new one was written to tie into the new customised content restriction functions. Although the RightPress membership plugin comes with a bunch of shortcodes already I found it easier to write a new one that simply took its information from the post meta, rather than having to learn new shortcodes.

To prevent users from adding multiple variations of the same ‘plan’ to their cart a little code was added to only allow one variation per plan at a time.

I also added a couple of custom end points to the WooCommerce ‘my account’ pages so users can easily see their current memberships etc.

RightPress WooCommerce membership is a great plugin, it’s simple, flexible, and does what it’s supposed to – no more, no less, and for a developer this is good news. At $29 it’s a bargain.

Published on in Opinion.

Sign up to email alerts when I publish new posts.

I will never spam you, send you junk mail, sales emails or pass your email address to third party marketing entities.