Access Denied!
Level specific message
Changing your default “access denied” message for posts and pages is, as you know, fairly easy in Paid Memberships Pro:
But what if you want a custom message for a membership level? A custom message that will be different, depending on the membership level needed to access that post or page?
Doing that is unfortunately not quite as simple…
It requires using a couple of different WordPress/PMPro filters and creating PHP code.
The good news?
We’ve created some custom code you can use (See below).
The code is pretty – we think – easy to add to your site. As simple as a “copy and paste” operation:
- Create an empty
custom_advanced_settings.php
file in acustom-advanced-settings
directory on your computer/laptop - Copy the entire contents of the PHP script below
- Paste it into the new
custom_advanced_settings.php
file - Edit the
pca_get_level_messages()
function to both match your Membership Level IDs – found on the “Membership Levels” settings page for Paid Memberships Pro – and edit the text for your message.
There are 3 different messages you can edit:
Your not_logged_in
message is used when the user attempting to access a post or page (the content) but is not logged in to the system.
PMPro’s rss
message is used when someone is denied access to the RSS stream for that post/page.
The non_member
message is used when the user is logged in, but they do not have the correct membership level to see the post/page they’ve navigated to.
In the comments, there’s Format:
section which explains what the structure needs to look like. It’s a fairly straight forward PHP array() of arrays()
structure.
The membership level ID is the key that helps us identify which messages we can choose from.