Question

How can I restrict a specific logged user (current role is subscriber) via wp_get_current_user() to view only specific pages?

Était-ce utile?

La solution

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');`
Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top