Réponses:
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');
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.
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.