Sembunyikan dasbor dari pengguna non-admin

8

Apakah mungkin untuk menyembunyikan dasbor sepenuhnya dari pengguna Non-admin dan memberi mereka akses hanya ke halaman Posting baru dan mengedit posting? Terima kasih.

jay
sumber

Jawaban:

17

Sejauh kemudahan penggunaan, terutama untuk Admin WordPress yang tidak terlalu tegas dalam PHP, saya merekomendasikan plugin kedua brasoflo ( Adminimize ).

Demi kelengkapan, ini adalah bagaimana hal itu dilakukan secara terprogram:

/* 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');
Johannes Pille
sumber
3

Anda dapat menggunakan plugin Adminimize untuk melakukan itu.

Dimungkinkan untuk menyembunyikan Dasbor (dan banyak hal lainnya) berdasarkan peran pengguna. Jika menyembunyikan Dasbor, Anda dapat menentukan halaman apa yang akan diarahkan pengguna.

Saya tidak yakin, tetapi saya yakin Anda tidak dapat mengubah peran pengguna untuk memblokir Dasbor (karena peran terendah pun memiliki akses ke sana).

Tetapi jika Anda menggabungkan Adminimize dengan plugin Peran, Anda dapat mencapai antarmuka administratif yang sangat baik.

brasofilo
sumber
@JohannesPille - tidak ada instalasi WordPress tunggal yang saya lakukan yang tidak menjalankan Adminimize. Dan tidak bisa cukup memujinya :)
brasofilo
0

2 halaman itu juga merupakan bagian dari dasbor! Jika Anda memberikan akses untuk mengedit posting, berarti Anda memberikan akses ke daftar posting. Peran berkemampuan terendah, pelanggan, juga memiliki akses ke halaman profil, yang juga merupakan bagian dari dasbor! Opsi terbaik Anda adalah bentuk pengeditan / pengeditan profil pos ujung depan.

Rutwick Gangurde
sumber
1
Itu tergantung pada bagaimana Anda mendefinisikan "dasbor", sebuah istilah yang agak ambigu, bahkan dalam konteks WP. Itu bisa merujuk ke seluruh admin-wp, yang tampaknya bagaimana Anda menafsirkan pertanyaan, atau ke halaman menu admin paling atas. Dalam kasus terakhir, halaman menu bisa disembunyikan.
Johannes Pille
0

Anda dapat menggunakan plugin yang disebut "Editor Peran Pengguna" .. Anda tidak dapat menghindari dasbor untuk memberi mereka akses ke pos Baru .. Tetapi Anda dapat membatasi peran mereka ...

Nasir Zia
sumber