The following snippet will let you redirect any of the admin pages to any location you wish based on the user ‘capability’.
[code lang=”php”]
function wps_redirect_page() {
global $pagenow;
$pages = array(
‘edit-tags.php?taxonomy=category’,
‘edit-tags.php?taxonomy=post_tag’,
‘link-manager.php’,
‘options-writing.php’,
‘options-reading.php’,
‘options-discussion.php’,
‘options-media.php’,
‘options-privacy.php’,
‘options-permalink.php’,
);
if(in_array($newpage, $pages)){
wp_redirect( admin_url(‘/’) ); exit;
}
}
if(!current_user_can(‘edit_post’)){
add_action(‘admin_init’, ‘wps_redirect_page’);
}
[/code]
Another option would be to replace wp_redirect with wp_die(“some custom message”); to display a message instead of redirecting.