Masquer le tableau de bord des utilisateurs non administrateurs

8

Est-il possible de masquer complètement le tableau de bord aux utilisateurs non administrateurs et de leur donner accès uniquement à la page Nouveau message et modifier les messages? Merci.

geai
la source

Réponses:

17

En ce qui concerne la facilité d'utilisation, en particulier pour les administrateurs WordPress pas trop fermes en PHP, j'appuie la recommandation du plugin de brasoflo ( Adminimize ).

Par souci d'exhaustivité, voici comment cela se ferait par programme:

/* 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
la source
3

Vous pouvez utiliser le plugin Adminimize pour ce faire.

Il est possible de masquer le tableau de bord (et bien d'autres choses) en fonction du rôle d'utilisateur. En cas de masquage du tableau de bord, vous pouvez définir vers quelle page l'utilisateur sera redirigé.

Je ne suis pas sûr, mais je pense que vous ne pouvez pas modifier les rôles utilisateur pour bloquer le tableau de bord (car même le rôle le plus bas y a accès).

Mais si vous combinez Adminimize avec un plugin Role, vous pouvez obtenir une interface administrative très fine.

brasofilo
la source
@JohannesPille - il n'y a pas une seule installation WordPress que j'aie faite qui ne fonctionne pas Adminimize. Et je ne peux pas le louer assez :)
brasofilo
0

Ces 2 pages font également partie du tableau de bord! Si vous donnez accès à la modification des articles, cela signifie que vous donnez accès à la liste des articles. Le rôle le moins qualifié, l'abonné, a également accès à la page de profil, qui fait également partie du tableau de bord! Votre meilleure option serait un formulaire d'ajout / modification de profil avant.

Rutwick Gangurde
la source
1
Cela dépend de la façon dont vous définissez le «tableau de bord», un terme qui est en quelque sorte ambigu, même dans le contexte WP. Il peut faire référence à l'ensemble de wp-admin, qui semble être la façon dont vous avez interprété la question, ou à la page de menu d'administration la plus haute. Dans ce dernier cas, la page de menu peut être masquée.
Johannes Pille,
0

vous pouvez utiliser un plugin appelé "User Role Editor" .. Vous ne pouvez pas éviter le tableau de bord afin de leur donner accès à la nouvelle publication .. Mais vous pouvez limiter leur rôle ...

Nasir Zia
la source