How can I restrict a specific logged user (current role is subscriber) via wp_get_current_user() to view only specific pages?
1 Answer
This code filter the content for custom post types "news", you say "specific pages" so this can be adjusted to your needs. Then it checks if the user is a subscriber, and shows the content if it is, else, it just says "Not allowed".
function filter_content($content) {
global $post;
if ( $post->post_type == 'news' ) { //Specify your pages here
$currentuser = wp_get_current_user();
if ( in_array( 'subscriber', (array) $currentuser->roles ) ) {
return $content;
} else {
echo 'Not allowed';
}
}
}
add_filter('the_content', 'filter_content');`