You can restrict access to any post and page (including custom post types) by changing access restriction settings in the Restrict Access side box on each supported post/page type:
The following restrictions methods are supported:
- No Restriction - everyone will have access to this post
- All Members - all logged in members with any plan will have access to this post
- Members With Specific Plans - only logged in members with specific membership plans will have access to this post
- All Non-Members - all logged in non-members and all users that are not logged in will have access to this post
- Users Without Specific Plans - any logged in member that does not have a specific plan, any logged in non-member and all users that are not logged in will have access to this post
For Members With Specific Plans and Users Without Specific Plans, you will be provided with a multi-select field to select one or more membership plans.
If user is not granted access to a specific post or page, they will be presented with a standard Not Found page. It is not possible to use custom pages to display restriction messages due to performance concerns. If you would like to display some content to non-members for marketing purposes, simply add one more post or page with opposite settings (e.g. display to All Non-Members if original post is accessible by All Members only).
Posts and pages are also removed from all lists and menus for all users that are not granted access to these posts or pages.
You can bulk-edit restriction settings for multiple posts and pages using standard WordPress bulk edit tool.
You can instruct WooCommerce Membership to skip specific WordPress post types by using filter hook woocommerce_membership_skip_post_type.