Ẩn bảng điều khiển khỏi người dùng không phải quản trị viên


8

Có thể ẩn hoàn toàn bảng điều khiển khỏi người dùng không phải quản trị viên và chỉ cho họ quyền truy cập vào trang Bài đăng mới và chỉnh sửa bài đăng? Cảm ơn.

Câu trả lời:


15

Để dễ sử dụng, đặc biệt là đối với Quản trị viên WordPress không quá vững trong PHP, tôi khuyến nghị plugin thứ hai của brasoflo ( Adminifying ).

Để hoàn thiện, đây là cách nó được thực hiện theo chương trình:

/* 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

Bạn có thể sử dụng plugin Adminizes để làm điều đó.

Có thể ẩn Bảng điều khiển (và nhiều thứ khác) dựa trên vai trò của người dùng. Trong trường hợp ẩn Bảng điều khiển, bạn có thể xác định trang nào người dùng sẽ được chuyển hướng.

I'm not sure, but I believe you cannot modify the user roles to block the Dashboard (as even the lowest role has access to it).

But if you combine Adminimize with a Role plugin, you can achieve a very fine tuned administrative interface.


@JohannesPille - there's no a single WordPress install I've done that doesn't runs Adminimize. And cannot praise it enough :)
brasofilo

0

Those 2 pages too are a part of the dashboard! If you're giving access to edit posts, means you're giving access to the posts list. The lowest capable role, subscriber, also has access to the profile page, which is also a part of the dashboard! Your best option would be a front end post addition/profile editing form.


1
That depends on how you define "dashboard", a term which is sort of ambiguous, even in the WP context. It can either refer to the entire wp-admin, which appears to be how you've interpreted the question, or to the topmost admin menu page. In the latter case, the menu page can be hidden.
Johannes Pille

0

you can use a plugin called "User Role Editor".. You cant avoid dashboard in order to give them access to the New post.. But you can limit their role...

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.