对编辑隐藏某些帖子类型

时间:2015-06-03 作者:flipnotic

我正试图根据自定义帖子类型或类别(以最简单的为准),在管理面板中对我的编辑器隐藏一系列帖子。

我尝试添加一个函数,例如:

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\' );
        }
}
(在这段代码中,我对一个特定的帐户隐藏了它),但它似乎不起作用。有什么办法吗?

1 个回复
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 因为我不清楚你是否真的想那样做。如果是,那么学分应该归他而不是我:)

结束