我想在wordpress的wp admin面板中禁用user author的默认帖子类型,并只显示自定义帖子类型。
为此,我得到了下面给出的代码。
function remove_menus(){
$author = wp_get_current_user();
if(isset($author->roles[0])){
$current_role = $author->roles[0];
}else{
$current_role = \'no_role\';
}
if($current_role == \'author\'){
remove_menu_page( \'index.php\' ); //Dashboard
remove_menu_page( \'edit.php\' ); //Posts
remove_menu_page( \'upload.php\' ); //Media
remove_menu_page( \'edit.php?post_type=page\' ); //Pages
remove_menu_page( \'edit-comments.php\' ); //Comments
remove_menu_page( \'themes.php\' ); //Appearance
remove_menu_page( \'plugins.php\' ); //Plugins
remove_menu_page( \'users.php\' ); //Users
remove_menu_page( \'tools.php\' ); //Tools
remove_menu_page( \'options-general.php\' ); //Settings
}
}
add_action( \'admin_menu\', \'remove_menus\' );
默认的帖子类型从管理面板中消失,但上面代码的问题是,当键入url并从顶部仪表板加载管理面板时,页面仍然可以访问。我想阻止默认的帖子类型,或者不应该加载页面,而应该加载自定义帖子类型页面。
虽然帖子类型已禁用,但页面加载时在地址栏中键入url。