对非管理员用户隐藏仪表板


8

是否可以完全向非管理员用户隐藏仪表板,并让他们仅访问“新帖子和编辑帖子”页面?谢谢。

Answers:


17

至于易用性,尤其是对于PHP不太扎实的WordPress管理员,我第二次推荐brasoflo的插件推荐(Adminimize)。

为了完整起见,这是通过编程方式完成的:

/* Remove the "Dashboard" from the admin menu for non-admin users */
function wpse52752_remove_dashboard () {
    global $current_user, $menu, $submenu;
    get_currentuserinfo();

    if( ! in_array( 'administrator', $current_user->roles ) ) {
        reset( $menu );
        $page = key( $menu );
        while( ( __( 'Dashboard' ) != $menu[$page][0] ) && next( $menu ) ) {
            $page = key( $menu );
        }
        if( __( 'Dashboard' ) == $menu[$page][0] ) {
            unset( $menu[$page] );
        }
        reset($menu);
        $page = key($menu);
        while ( ! $current_user->has_cap( $menu[$page][1] ) && next( $menu ) ) {
            $page = key( $menu );
        }
        if ( preg_match( '#wp-admin/?(index.php)?$#', $_SERVER['REQUEST_URI'] ) &&
            ( 'index.php' != $menu[$page][2] ) ) {
                wp_redirect( get_option( 'siteurl' ) . '/wp-admin/edit.php');
        }
    }
}
add_action('admin_menu', 'wpse52752_remove_dashboard');

3

您可以使用插件Adminimize来做到这一点。

可以根据用户角色来隐藏仪表板(以及许多其他东西)。如果隐藏仪表板,则可以定义用户将重定向到哪个页面。

我不确定,但是我相信您不能修改用户角色来阻止仪表板(因为即使最低的角色也可以访问它)。

但是,如果将Adminimize与Role插件结合使用,则可以实现非常精细的管理界面。


@JohannesPille-我完成的单个WordPress安装没有运行Adminimize。而且不能称赞它:)
brasofilo 2012年

0

这两个页面也是仪表板的一部分!如果您授予编辑帖子的权限,则意味着您授予对帖子列表的访问权限。能力最差的角色(订户)也可以访问配置文件页面,该页面也是仪表板的一部分!最好的选择是前端帖子添加/个人资料编辑表单。


1
这取决于您如何定义“仪表板”,即使在WP上下文中,该术语也有点模棱两可。它可以引用整个wp-admin(似乎是您对问题的解释方式),也可以引用最顶层的admin菜单页面。在后一种情况下,菜单页面可以隐藏。
约翰内斯·皮尔

0

您可以使用名为“用户角色编辑器”的插件。.您不能避免使用仪表板,以使他们能够访问“新帖子”。但是您可以限制他们的角色...

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.