Ascunde panoul de control pentru utilizatorii non-admin

21 mai 2012, 08:04:30
Vizualizări: 25.7K
Voturi: 8

Este posibil să ascunzi complet panoul de control (dashboard) pentru utilizatorii non-admin și să le oferi acces doar la pagina de postări noi și editare postări? Mulțumesc.

0
Toate răspunsurile la întrebare 4
0
18

În ceea ce privește ușurința de utilizare, mai ales pentru administratorii WordPress care nu sunt foarte familiarizați cu PHP, susțin recomandarea plugin-ului făcută de brasoflo (Adminimize).

Pentru completitudine, iată cum s-ar putea face programatic:

/* Elimină "Dashboard" din meniul de administrare pentru utilizatorii non-administratori */
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');
21 mai 2012 14:39:33
1

Puteți utiliza pluginul Adminimize pentru a face acest lucru.

Este posibil să ascundeți Panoul de control (și multe alte elemente) în funcție de rolul utilizatorului. În cazul ascunderii Panoului de control, puteți defini pagina către care va fi redirecționat utilizatorul.

Nu sunt sigur, dar cred că nu puteți modifica rolurile utilizatorilor pentru a bloca accesul la Panoul de control (deoarece chiar și rolul cu cele mai mici permisiuni are acces la el).

Dar dacă combinați Adminimize cu un plugin pentru Roluri, puteți obține o interfață administrativă foarte bine reglată.

21 mai 2012 13:56:22
Comentarii

@JohannesPille - nu există o singură instalare WordPress pe care am făcut-o și care să nu ruleze Adminimize. Și nu pot să o laud suficient :)

brasofilo brasofilo
21 mai 2012 14:45:41
1

Aceste 2 pagini fac și ele parte din panoul de control! Dacă oferi acces pentru editarea articolelor, înseamnă că oferi acces și la lista de articole. Cel mai mic rol capabil, abonatul, are acces și la pagina de profil, care face și ea parte din panoul de control! Cea mai bună opțiune pentru tine ar fi un formular de adăugare articole/editare profil pe interfața frontală.

21 mai 2012 08:14:17
Comentarii

Depinde de cum definești "dashboard", un termen care este oarecum ambiguu, chiar și în contextul WordPress. Poate să se refere fie la întregul wp-admin, ceea ce pare să fie modul în care ai interpretat întrebarea, fie la pagina principală din meniul de administrare. În ultimul caz, pagina din meniu poate fi ascunsă.

Johannes Pille Johannes Pille
21 mai 2012 14:30:39
0

poți folosi un plugin numit "User Role Editor".. Nu poți evita panoul de control pentru a le oferi acces la articole noi.. Dar poți limita rolul lor...

21 mai 2012 10:47:49