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
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 example.com/locations/ he/she should only see House 3 and House 6 because these CPT entries have the taxonomy term that matches the user's membership.
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).
Add a new test subscriber user named say miami-user.
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.
Set up a Template that applies to location CPT archive.
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:
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.
Enter your email address to subscribe to this blog and receive notifications of new tutorials by email.
Join 583 other subscribers