On a recent project, there was a request for a solution for locking down Listings for those that have yet to become a customer (i.e., purchase a subscription).
I’ve tried out many membership plugins to do something similar, but these solutions can sometimes be overkill, be way too heavy, and not work all that well.
I enjoy working with WooCommerce Memberships, combined with WooCommerce Subscriptions, and that’s precisely the combo I use for the MyListing Club website.
While I could have easily recommended the WooCommerce stack mentioned above, we didn’t need subscriptions for this project. Also, the WooCommerce Memberships plugin was a bit more than what was required.
Enter Content Control, which is a free, lightweight plugin that’s super easy to implement.
I tend to shy away from free solutions, mainly because I want the vendor to have an incentive to keep pushing the product forward (i.e., make money). In this case, Content Control runs on a freemium model, which makes it pretty much a no-brainer decision.
This guide will teach you how to prevent users from viewing Listings unless they have purchased a product (e.g. membership) from your MyListing website.
Lock Down Listings
In the steps below, we are going to prevent everyone except those that are Administrators, Editors, or Customers on your MyListing website.
- Install and activate the Content Control plugin.
- WordPress Dashboard > Settings > Content Control
- Click the ‘Add a Restriction’ button.
- General > Restiriction Title > Enter something like ‘Listings Lockdown’.
- General > Who can see this content? > Leave the default setting.
- General > Which role(s) can see this content? > Check the ‘Administrator’, ‘Editor’, and ‘Customer’ roles.
- Protection > Choose how to project your content > Leave the default setting
- Protection > Where will they be taken? > Custom URL
- Protection > Redirect URL > Click on the ‘gear’ icon and select a page to redirect non-customers to. (Note: You could redirect to either a page where your pricing tables are or a better option to create a custom page with some education that covers the benefits of signing up for a membership.).
- Content > Choose a content type to get started > Click the drop-down and choose ‘Listing’.

- Click ‘Add’.
At this point, anytime someone that doesn’t hold one of the roles mentioned above, they will be redirected to your protected content page, where you can then get them into your sales funnel.
I’ve just scratched the surface on the possibilities of this plugin. You can set up multiple rules for locking down Listings, set up rules for locking down other types of content, etc.
Customer Role
One thing I’ve found over the years is sometimes users will be granted the Customer role on a MyListing website, even though they haven’t purchased anything.
This happens despite the default WordPress setting (WordPress Dashboard > Settings > New User Default Role) being set to ‘ Subscriber’.
So, what we want to do to ensure the ‘Customer’ role is not handed out to just anybody the registers on your website.
For that, you will want to add the Set WooCommerce Default User Registration Role code snippet to your website.