In the Oxygen Facebook group a user asked:

Looking to have an archive page for a CPT (locations). Where all members will login and visit. Upon visiting the page, they should only see posts that have a custom tax that matches their membership product. 

This members-only tutorial provides the steps to

  • create a membership product using WP-Members
  • assign a membership to a user (subscriber)
  • create location Custom Post Type having a customer taxonomy

Sample location items: House 1, House 2, House 3, House 4, House 5 and House 6.

Sample taxonomy terms: Miami, New York, Tulsa.

Of these, House 3 and House 6 are tagged as Miami.

Let's say a user, miami-user has been given product access to miami membership.

When this user is viewing he/she should only see House 3 and House 6 because these CPT entries have the taxonomy term that matches the user's membership.

Step 1

Install and activate WP-Members.

Settings > WP-Members > Other Settings: Tick "Enable Products".

Configure other settings as needed.

Go to Memberships and add a new product named say, "Miami" (to follow along with the tutorial).

Step 2

Add a new test subscriber user named say miami-user.

Step 3

Add a location post type using CPT UI or otherwise.

Set Has Archive to True.

Enter locations as the post type archive slug.

Add a customer taxonomy attached to Locations.

Create a few sample taxonomy terms: Miami, New York, Tulsa.

Add a few sample location CPT items: House 1, House 2, House 3, House 4, House 5 and House 6.

Set Miami as the location for House 3 and House 6.

Note: This tutorial not only works when a CPT has one taxonomy term set, but also when more than one term has been set.

Step 4

Set up a Template that applies to location CPT archive.

when using Oxygen

If using Oxygen, add an Easy Posts component and ensure that query type is left as Default.

With a simplified Template PHP and CSS, it should show all the CPT items like this:

Step 5

Install and activate Code Snippets plugin.

Go to Snippets > Add New.

Title: Pre-Filter Locations by Customer(s)


This is a premium members-only content.

To view the rest of the content, please sign up for membership ($47/month or $399 one-time).

Already a member? Log in below or here.

Need help implementing a tutorial in your site or want to hire me for custom work?


Find the article helpful and wish to donate?



You need to be logged in to view and post comments.
Not a member yet? Join here.
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram
%d bloggers like this: