Comment rediriger les utilisateurs dans WordPress
Publié: 2018-08-08Les redirections font partie intégrante des sites Web, des plugins et des thèmes. Certains se produisent sous vos yeux et vous ne savez peut-être même pas ce qui se passe dans le dos.
Bien que les redirections soient généralement laissées aux développeurs, nous allons vous montrer plusieurs astuces qui vous permettront de faire cette tâche par vous-même.
Comment rediriger des rôles d'utilisateur spécifiques après une connexion réussie
Dans cette partie de l'article, nous allons vous montrer un code que vous pouvez facilement modifier et contrôler où un certain utilisateur atterrit après une connexion réussie à votre site Web WordPress.
Par défaut, WordPress amènera chaque utilisateur au tableau de bord et cela pourrait être un problème pour certains d'entre vous. Peut-être que vous voulez garder vos administrateurs et auteurs sur le backend pendant que vous voulez diriger vos autres utilisateurs directement vers votre page d'accueil ou peut-être sur une autre page frontend que vous avez créée spécialement pour eux.
Pour rediriger les utilisateurs en fonction de leurs rôles, suivez les étapes suivantes :
- Ouvrez le fichier functions.php
- Copiez et collez le code suivant :
function my_login_redirect( $url, $request, $user ){ if( $user && is_object( $user ) && is_a( $user, 'WP_User' ) ) { if( $user->has_cap( 'administrateur') ou $user->has_cap( 'auteur')) { $url = admin_url(); } autre { $url = home_url('/custom-page /'); } } renvoie $url ; } add_filter('login_redirect', 'my_login_redirect', 10, 3 );
- Sauvegarder les modifications
Le code affiché ci-dessus laissera les administrateurs là où ils doivent être - le panneau d'administration, tandis que tous les autres utilisateurs seront dirigés vers une page personnalisée.
Vous pouvez facilement modifier les URL en modifiant la variable $url sur la 4 ème et la 6 ème ligne et ainsi diriger vos utilisateurs vers tous les articles/pages que vous avez créés pour eux.
Si vous souhaitez contrôler les rôles des utilisateurs, vous pouvez le faire facilement sur la troisième ligne du code. Dans l'exemple ci-dessus, nous avons laissé les administrateurs et les auteurs sur le panneau d'administration. Si vous ne voulez que des administrateurs, supprimez simplement les auteurs de l'image :
if( $user->has_cap( 'administrateur' ) ) {
Au lieu de supprimer des auteurs, vous pouvez également ajouter d'autres rôles ; c'est à vous de décider qui se retrouvera sur quelle page.
C'est ça. Avec ce code, vous n'avez besoin d'aucun plugin pour contrôler les redirections après la connexion d'un utilisateur. Si vous ne souhaitez toujours pas modifier le code, voyez comment rediriger les utilisateurs après la connexion avec un plugin.
Rediriger les utilisateurs après la connexion avec le plugin Peter's Login Redirect
Bien que vous puissiez rapidement rediriger les utilisateurs après la connexion en plaçant le code que nous vous avons montré plus tôt, ce n'est pas la meilleure option pour ceux qui n'aiment pas coder. Aussi, si vous souhaitez avoir plus de contrôle sur les redirections, vous devrez savoir comment modifier le code.
Au lieu de modifier le code, nous vous montrerons un plugin qui fera le sale boulot à votre place . Tout ce que vous avez à faire est de décider quel utilisateur va où, de cliquer sur quelques cases à cocher et de coller les URL pendant que le plugin s'occupe du reste.

Bien qu'il existe d'innombrables plugins WordPress conçus pour faire la même chose, nous avons choisi Peter's Login Redirect pour cette partie de l'article.
Ce plugin vous permettra de choisir les utilisateurs en fonction de leurs noms, de leurs rôles d'utilisateur et même de leurs capacités et de simplement coller l'URL vers laquelle ces utilisateurs seront redirigés après leur connexion. Il est même possible de choisir une autre page si vous souhaitez rediriger cet utilisateur ou groupe d'utilisateurs après leur déconnexion. De plus, vous pouvez choisir une URL distincte qui sera utilisée comme page de destination pour tout utilisateur lors de son inscription.
Si cela ne vous suffit pas et que vous souhaitez améliorer davantage vos redirections, Peter's Login Redirect est là pour vous. Si vous avez par exemple créé une page spécifique pour chaque utilisateur, vous pouvez générer l'URL directement depuis le plugin. Dans ce cas, un simple shortcode décrit dans le plugin suffira pour saisir le nom d'utilisateur de l'utilisateur et ainsi conduire cet utilisateur particulier vers sa page spécifique.
En fin de compte, il existe peu d'options de plugin qui peuvent vous aider à contrôler davantage le comportement du plugin. Vous pouvez configurer le plugin pour n'utiliser qu'un seul type d'URL et, par exemple, autoriser uniquement l'utilisation de liens internes, contrôler les redirections POST et GET, utiliser un fichier de redirection externe si nécessaire et choisir qui peut contrôler ce plugin en choisissant les niveaux d'autorisation .
Si vous aviez besoin de gérer les redirections de connexion, de déconnexion et d'enregistrement, Peter's Login Redirect vous fournira pratiquement tout ce dont vous avez besoin. Oh, ouais, avons-nous mentionné que le plugin est gratuit ? Vous pouvez l'obtenir à partir du référentiel de plugins WordPress et l'installer en quelques secondes, après quoi tout ce que vous avez à faire est de naviguer vers Paramètres -> Redirections de connexion/déconnexion .
Comment rediriger un utilisateur WordPress après la déconnexion
Par défaut, lorsqu'un utilisateur se déconnecte d'un site Web WordPress, il est redirigé vers la page de connexion. Un message s'affichera pour informer un utilisateur de la déconnexion réussie et le reste de la navigation est laissé aux utilisateurs.
Mais que se passe-t-il si vous souhaitez que vos utilisateurs soient automatiquement redirigés vers votre page d'accueil, les pages de discussion que vous souhaitez qu'ils voient ou toute autre page d'intérêt ? Peut-être souhaitez-vous créer une page de déconnexion différente qui contiendra des widgets spéciaux ou mènera vos utilisateurs ailleurs ? Si c'est le cas, vous aurez besoin de ce petit code pour que tout se passe.
Dans les prochaines lignes, nous allons vous montrer comment rediriger facilement un utilisateur vers l'URL de votre choix. Si vous ne souhaitez pas utiliser le code pour les redirections, nous sommes sur le point de vous montrer un plugin simple qui fera tout cela pour vous. Mais avant cela, redirigeons un utilisateur vers la page d'accueil :
- Ouvrez le fichier functions.php
- Copiez et collez le code suivant :
add_action('wp_logout','auto_redirect_after_logout');
fonction auto_redirect_after_logout(){
wp_redirect( home_url() );
sortir();
}
- Sauvegarder les modifications
- Déconnectez-vous et profitez de votre belle page d'accueil
C'est aussi simple que ça. Comme vous pouvez le deviner à partir du code, vous pouvez rediriger un utilisateur vers n'importe quelle autre URL en modifiant la troisième ligne . Ainsi, si vous souhaitez diriger vos utilisateurs vers une autre page de votre propre site ou vers une page externe, votre code doit ressembler à ceci :
add_action('wp_logout','auto_redirect_after_logout');
fonction auto_redirect_after_logout(){
wp_redirect( 'http://www.firstsiteguide.com');
sortir();
}
Si vous souhaitez en faire plus avec la fonction wp_redirect, vous pouvez en savoir plus sur les pages WordPress Codex.
Redirection de connexion et de déconnexion
PRIX : Gratuit

Ce plugin gratuit est relativement simple et fera parfaitement son travail. Au lieu de traiter le code, la redirection de connexion et de déconnexion créera un segment supplémentaire sur la page des paramètres. Après l'avoir installé et activé, vous devez accéder à Paramètres -> Général et faire défiler jusqu'à la fin de la page . Vous trouverez ici des zones de saisie séparées pour les redirections de connexion et de déconnexion. Saisissez les URL souhaitées, enregistrez les modifications et le tour est joué !
Si vous avez besoin de plus d'options de redirection pour votre site Web WordPress, nous vous suggérons de vérifier le plugin de redirection 5sec qui peut vous aider à rediriger n'importe quel article, page, catégorie, balise ou URL personnalisée. Cela vous permettra de masquer vos URL, ce qui peut être une bonne chose pour cacher les liens d'affiliation ou toute URL de vos visiteurs. Le plugin vous montre également des statistiques sur chaque lien redirigé afin que vous sachiez ce qui se passe sur le site.
Rediriger les utilisateurs après avoir laissé un commentaire
Lorsque vous commencerez à publier des articles, vous voudrez bien sûr que les gens les commentent. Dans cette partie du guide, nous allons vous montrer comment rediriger un utilisateur après avoir soumis un commentaire.
Cette fonction peut vous être utile dans des situations spécifiques. Par exemple, vous pouvez créer une page de remerciement personnalisée pour un cadeau que vous organisez . Ainsi, lorsque les visiteurs participent à un cadeau en laissant un commentaire, vous pouvez facilement les rediriger vers cette page de « merci » où vous pouvez fournir des informations supplémentaires sur les prix.

Il y a en fait des tonnes de raisons différentes pour lesquelles vous pourriez avoir pour rediriger un utilisateur après avoir laissé un commentaire, alors sans plus tarder, voici ce que vous devez faire pour automatiser le processus.
Rediriger l'utilisateur après avoir soumis un commentaire :
- Ouvrez le fichier functions.php
- Copiez et collez ce code dans le fichier :
fonction redirect_after_comment(){ wp_redirect('/merci/'); sortir(); } add_filter('comment_post_redirect', 'redirect_after_comment');
- Changer le nom de la page sur la 2 ème ligne
- Sauvegarder les modifications
C'est ça. Vous pouvez maintenant continuer et tester la fonction. Ouvrez n'importe lequel de vos messages et laissez un commentaire. Si vous avez tout fait correctement, vous devriez vous retrouver sur la page http:/www.votresite.com/merci ou celle indiquée sur la deuxième ligne de votre code.

N'oubliez pas de remercier les gens pour leurs commentaires mais n'oubliez pas non plus que vous souhaitez que vos visiteurs restent sur le site et continuent à naviguer. Une bonne idée pourrait être d'ajouter une liste de vos publications récentes ou les plus populaires, ou peut-être même mieux de répertorier toutes les publications connexes qui pourraient intéresser un commentateur. Si vous avez une liste de diffusion, c'est un bon endroit pour offrir un abonnement à celle-ci.
Bien que cette fonction offre un moyen simple et rapide de rediriger les utilisateurs après avoir laissé un commentaire, vous pourriez être intéressé par un plugin qui vous offrira des fonctionnalités supplémentaires.
Rediriger les utilisateurs après la recherche s'il n'y a qu'un seul résultat trouvé
La fonctionnalité de recherche est indispensable si vous traitez un plus grand nombre d'articles. Si vous écrivez quotidiennement, imaginez le nombre d'articles dispersés dans différentes catégories. Si vous ne publiez que trois courts articles par jour, il y aura plus d'un millier de titres différents dans votre base de données après la première année. Imaginez maintenant que vous venez sur le site pour la première fois tout en cherchant quelque chose de spécifique - vous voudrez le rechercher.
Par défaut, WordPress recherchera dans les titres des articles, les balises et bien sûr le contenu. Ainsi, si vous recherchez un mot ou une phrase spécifique, il trouvera probablement des dizaines de publications et de pages contenant la requête. Mais que faire s'il n'y avait qu'un seul résultat de recherche ?
Si quelqu'un cherchait une phrase très spécifique ou une phrase entière, il y a de fortes chances qu'il n'y ait que quelques-uns ou peut-être un seul résultat. S'il n'y a qu'un seul résultat trouvé, il est tout à fait inutile de rediriger un utilisateur vers la page de résultats de recherche . Au lieu de cela, pourquoi ne dirigeriez-vous pas cet utilisateur directement vers la publication/la page trouvée dans le résultat ?
Voyons comment faire :
- Ouvrez fonctions.php
- Copiez ce code et collez-le à la fin du fichier :
add_action('template_redirect', 'redirect_search_result); fonction redirect_search_result() { if (is_search()) { global $wp_query ; if ($wp_query->post_count == 1 && $wp_query->max_num_pages == 1) { wp_redirect( get_permalink( $wp_query->posts['0']->ID ) ); sortir; } } }
- Sauvegarder les modifications
Vous avez préparé votre WordPress pour la nouvelle fonctionnalité. Après avoir enregistré les modifications, chaque fois qu'un utilisateur recherche quelque chose qui ne renverra qu'un seul résultat, cet utilisateur sera redirigé directement vers la publication/la page.
Même si cela ne semble pas grand-chose, nous sommes sûrs que vos visiteurs apprécieront que vous les sauvegardiez en un clic. Enregistrer un clic ici et un clic là-bas se traduira par une meilleure expérience utilisateur et c'est probablement quelque chose que vous voulez sur votre site Web, n'est-ce pas ?
Rediriger les utilisateurs lorsqu'il n'y a qu'un seul message dans une catégorie trouvée
Au lieu d'ouvrir une page de catégorie ou de balise qui ne contient qu'un seul résultat, vous pouvez rediriger cet utilisateur directement vers la publication/la page. Comme pour la plupart de nos extraits de code, il suffira de copier et coller le code :
Rediriger un utilisateur s'il n'y avait qu'un seul post dans une catégorie ou un tag :
- Ouvrez le fichier functions.php
- Copiez et collez le code suivant :
fonction redirect_to_post(){
global $wp_query ;
if( is_archive() && $wp_query->post_count == 1 ){
la poste();
$post_url = get_permalink();
wp_redirect( $post_url );
}
} add_action('template_redirect', 'redirect_to_post');
- Sauvegarder les modifications
Une fois que vous avez terminé avec le code et que vous avez enregistré les modifications, vous pouvez tester la fonctionnalité en ouvrant une page de catégorie ou de balise qui ne contient qu'un seul article/page. Au lieu d'ouvrir une page où une seule publication/page est affichée, vous serez redirigé directement vers la publication . Génial, n'est-ce pas ?
Étant donné que certains utilisateurs pourraient être confus par cela, ce serait une bonne idée d'inclure un message personnalisé qui indiquera aux utilisateurs qu'un seul résultat a été trouvé et que la redirection a eu lieu. Si vous voulez faire cela, vous pouvez laisser le message en haut de la publication/de la page vers laquelle un utilisateur a été redirigé en insérant une simple déclaration « echo ». Dans ce cas, votre code ressemblera à ceci :
fonction redirect_to_post(){ global $wp_query ; if( is_archive() && $wp_query->post_count == 1 ){ la poste(); $post_url = get_permalink(); wp_redirect( $post_url ); } echo "Comme il n'y a eu qu'un seul résultat trouvé, vous avez été redirigé vers cet article/cette page !"; } add_action('template_redirect', 'redirect_to_post');
Maintenant que même un message a été implémenté, vous avez terminé et vous n'aurez plus à vous occuper des catégories et des balises qui ne contiennent qu'un seul article/page. Mais ne laissez pas cette fonctionnalité être une excuse pour ne pas écrire de nouveaux articles dans la catégorie.
Rediriger les utilisateurs vers une page aléatoire dans WordPress
Ce n'est peut-être pas une fonctionnalité standard de tous les sites Web WordPress, mais cela peut certainement être un outil amusant à avoir quelque part sur votre site. Si vous écrivez beaucoup ou si vous avez de nombreuses galeries, vous pouvez finir par avoir des milliers de pages qu'un utilisateur moyen ne pourra pas voir . Alors pourquoi ne rendriez-vous pas les choses un peu plus intéressantes en redirigeant un utilisateur vers une publication aléatoire ?
OK, vous ne redirigerez pas un utilisateur vers une publication aléatoire à son insu ou ne le ferez pas sur la page d'accueil, bien sûr. Mais vous pouvez créer un simple bouton ou lien sur lequel un utilisateur peut cliquer, après quoi il sera redirigé vers une autre page de votre site. C'est peut-être une galerie. Peut-être un éditorial sympa que vous aviez écrit il y a des années. Qui sait. Cela peut être amusant.
Commençons:
- Vous devez d'abord préparer votre lien de redirection. Ouvrez votre fichier functions.php
- Copiez et collez le code suivant :
add_action('init','random_add_rewrite');
fonction random_add_rewrite() {
$wp global ;
$wp->add_query_var('aléatoire');
add_rewrite_rule('aléatoire/?
- Sauvegarder les modifications
- Allez sur www.votredomaine.com/?random=1
, 'index.php?random=1', 'top'); } add_action('template_redirect','random_template'); function random_template() { if (get_query_var('random') == 1) { $posts = get_posts('post_type=post&orderby=rand&numberposts=1'); foreach($posts as $post) { $link = get_permalink($post); } wp_redirect($link,307); sortir; } }
Après cela, vous êtes prêt à créer votre lien/bouton. Tout ce que vous avez à faire est de créer un lien vers http://www.votredomaine.com/?random=1 et chaque fois qu'un utilisateur ouvrira la page, il sera redirigé vers une page aléatoire. Profitez de votre nouvelle fonctionnalité.
Vous rediriger vers la conclusion
Tôt ou tard, vous souhaiterez rediriger des utilisateurs spécifiques dans des situations spécifiques. Qu'il y ait une bonne raison à cela et que vous essayiez de faire acheter quelque chose à vos visiteurs ou que vous vouliez simplement rendre le processus de connexion plus confortable, ce tutoriel vous aidera à gérer les redirections.
Si vous êtes suffisamment à l'aise avec le codage, vous pourrez également vous améliorer et rediriger les utilisateurs dans différentes situations. Sinon, nous espérons que ces exemples suffisent à couvrir vos besoins.