TransWikia.com

How to restrict logged user to view only certain pages?

WordPress Development Asked by danielradst on November 26, 2021

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

One 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');`

Answered by Fredrik on November 26, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP