Nascondi la dashboard agli utenti non amministratori

21 mag 2012, 08:04:30
Visualizzazioni: 25.7K
Voti: 8

È possibile nascondere completamente la dashboard agli utenti non amministratori e dare loro accesso solo alle pagine di creazione e modifica degli articoli? Grazie.

0
Tutte le risposte alla domanda 4
0
18

Per quanto riguarda la facilità d'uso, soprattutto per gli amministratori di WordPress non troppo ferrati in PHP, mi associo alla raccomandazione del plugin di brasoflo (Adminimize).

Per completezza, ecco come si potrebbe fare a livello di codice:

/* Rimuove la voce "Dashboard" dal menu di amministrazione per utenti non amministratori */
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 mag 2012 14:39:33
1

Puoi utilizzare il plugin Adminimize per farlo.

È possibile nascondere la Dashboard (e molte altre cose) in base al ruolo dell'utente. Nel caso di nascondere la Dashboard, puoi definire a quale pagina l'utente verrà reindirizzato.

Non sono sicuro, ma credo che non sia possibile modificare i ruoli utente per bloccare l'accesso alla Dashboard (poiché anche il ruolo più basso ha accesso ad essa).

Ma se combini Adminimize con un plugin per i Ruoli, puoi ottenere un'interfaccia amministrativa molto ben configurata.

21 mag 2012 13:56:22
Commenti

@JohannesPille - non esiste un singolo installazione di WordPress che ho fatto che non utilizzi Adminimize. E non posso lodarlo abbastanza :)

brasofilo brasofilo
21 mag 2012 14:45:41
1

Anche queste 2 pagine fanno parte della dashboard! Se concedi l'accesso per modificare i post, significa che stai dando accesso all'elenco dei post. Il ruolo con meno capacità, il sottoscrittore, ha comunque accesso alla pagina del profilo, che è anch'essa parte della dashboard! La tua migliore opzione sarebbe un modulo front-end per l'aggiunta di post/modifica del profilo.

21 mag 2012 08:14:17
Commenti

Dipende da come definisci "dashboard", un termine che è piuttosto ambiguo, anche nel contesto di WP. Può riferirsi all'intero wp-admin, che sembra essere come hai interpretato la domanda, oppure alla pagina del menu admin più in alto. In quest'ultimo caso, la pagina del menu può essere nascosta.

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

puoi utilizzare un plugin chiamato "User Role Editor".. Non puoi evitare la dashboard per concedere loro l'accesso alla creazione di nuovi articoli.. Ma puoi limitare il loro ruolo...

21 mag 2012 10:47:49