Tout savoir sur WordPress
Tutoriel WordPress

Rediriger les contributeurs vers la liste des articles après connexion

Cette astuce permet de rediriger vos contributeurs vers la liste des articles après connexion. On en profite pour supprimer l’onglet « Tableau de bord » du menu de navigation.

Les contributeurs de votre site WordPress ont la possibilité d’ajouter des articles qui sont soumis à la validation d’un administrateur ou d’un éditeur. Après s’être connecté, les contributeurs arrivent sur le tableau de bord qui les intéresse peu en général.

Afin de leur faire gagner un peu de temps, nous allons rediriger les contributeurs vers la liste des articles (côté administration) après connexion. On en profitera pour effacer « Tableau de bord » du menu de navigation.

Copier le code ci-dessous dans le fichier functions.php présent à la racine de votre thème :

add_filter("login_redirect", "gkp_contributor_login_redirect", 10, 3);
function gkp_contributor_login_redirect($redirect_to, $request, $user)  {

    if(is_array($user->roles) && in_array('contributor', $user->roles) )
        return admin_url('edit.php'); // On redirige vers la liste des articles
    		
return $redirect_to;
}

add_action('admin_init', 'gkp_remove_dashboard_for_contributor');
function gkp_remove_dashboard_for_contributor()  {
	
    // On récupère le rôle du membre connecté
    global $current_user;
    $user_role = array_shift($current_user->roles);
	
    // On supprime le menu "Catégorie"
    if( $user_role == 'contributor' )
        remove_menu_page('index.php');
}

PS : Merci à aAdrien de twitter pour l’idée de l’article ;)

Cet article a été mis à jour il y a 2461 jours - Il n'est peut être plus à jour !

Article écrit par Jonathan B.

Jonathan est le co-fondateur de WP Media, startup connue pour être l’auteur de WP Rocket et Imagify. Il est aussi co-organisateur du WordCamp Lyon et Paris.

5 Commentaires

  1. J’ai un petit soucis. J’ai uniquement ajouté ce code là à mon function.php de mon thème :

    function contributor_login_redirect($redirect_to, $request, $user){
    	if(is_array($user->roles))
        	if( in_array('contributor', $user->roles) )
        return admin_url('edit.php'); // On redirige vers la liste des articles
    }
    add_filter("login_redirect", "contributor_login_redirect", 10, 3);
    

    La redirection marche à merveille pour les contributeurs. En revanche tous les autres genre de compte (Auteur, Editeur, Admin, etc) se retrouve avec une page blanche après avoir validé le formulaire de connexion.

    D’où pourrait venir mon problème ?

    Merci par avance

  2. Bonjour Jonathan, la gestion des abonnements aux commentaires ne fonctionne pas (erreur 404 via tous les moyens : liens mail + sur cet article).

leo. ultricies Phasellus ut diam luctus dolor. mattis eleifend Lorem at