0

I would like to turn off admin panel for authors and subscribers.

Is there any secure way to keep them away from admin panel?

1
  • Hi, welcome to WPSE! Please, take a look at the following apps so you can easily follow your questions and answers in all StackExchange sites: stackapps.com :)
    – brasofilo
    Commented May 31, 2012 at 1:27

1 Answer 1

1

Create a functionality plugin and use this if you want to completely block the access to the Admin panel:

/**
 * Hide the admin bar in the front end 
 */
add_filter('show_admin_bar', '__return_false');

/**
 * Redirects Authors and Subscribers to the site front page using: get_home_url()
 */
add_action('admin_init','block_users_wpse_53675');

function block_users_wpse_53675()
{
    if( !current_user_can( 'delete_pages' ) ) // blocks authors, contributors and subscribers
    {   
        wp_redirect( get_home_url(), 301 ); 
        exit;
    }
}

Or use this other one if you want the users to have access only to their profile page:

/**
 * Redirect Authors and Subscribers to the site front page
 * Except if viewing the Profile page
 */
add_action('admin_init','block_users_wpse_53675');

function block_users_wpse_53675()
{
    global $pagenow;
    if( 'profile.php' == $pagenow ) 
        return;

    if( !current_user_can('delete_pages') ) 
    {   
        wp_redirect( get_home_url(), 301 ); 
        exit;
    }
}

/**
 * Hide all menus from the Admin panel
 * Except the profile item
 */
add_action('admin_menu', 'remove_admin_menus_wpse_53675', 999);

function remove_admin_menus_wpse_53675() 
{
    if( !current_user_can('delete_pages') ) 
    {
        remove_menu_page('index.php');
        remove_menu_page('edit.php');
        remove_menu_page('upload.php');
        remove_menu_page('link-manager.php');
        remove_menu_page('edit.php?post_type=page');
        remove_menu_page('edit-comments.php');
        remove_menu_page('tools.php');
    }
}

Plugins of interest to manipulate Roles and Capabilities

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.