我正试图根据自定义帖子类型或类别(以最简单的为准),在管理面板中对我的编辑器隐藏一系列帖子。
我尝试添加一个函数,例如:
add_action( \'admin_menu\', \'my_remove_menu_pages\' );
function my_remove_menu_pages() {
global $current_user;
get_currentuserinfo();
if($current_user->user_login = \'test2\') {
remove_submenu_page( \'edit.php?post_type=post\', \'edit.php?post_format=image&post_type=post\' );
}
}
(在这段代码中,我对一个特定的帐户隐藏了它),但它似乎不起作用。有什么办法吗?
SO网友:Charles
这里有一个小函数,用于隐藏(在管理中)自定义帖子类型。
function remove_from_admin_menu(){
// Check capability (admin)
if( current_user_can( \'edit_dashboard\' )){
//Do nothing
} elseif ( current_user_can( \'moderate_comments\' ) ) { // editor capability
remove_menu_page( \'edit.php?post_type=cpt01\' ); // add here your cpt name
remove_menu_page( \'edit.php?post_type=cpt02\' );
remove_menu_page( \'edit.php?post_type=cpt03\' );
// for submenu pages
remove_submenu_page( \'edit.php?post_type=testimonials-widget\', \'testimonialswidget_settings\' );
}
}
add_action(\'admin_menu\', \'remove_from_admin_menu\');
仅供参考:
关于角色/功能,请参阅
codex.
删除
menu page. (Codex)
删除
sub-menu page.(Codex)
信贷
michael-cannon 对于他的子菜单cpt样本。(Github)
要对类别执行相同的技巧,您可以看看here 因为我不清楚你是否真的想那样做。如果是,那么学分应该归他而不是我:)