60 votes

Redirection après connexion sur WordPress

Je suis en train de créer un thème WordPress personnalisé à partir d'un site existant.

Je veux utiliser un tableau de bord alternatif que j'ai créé.

Comment puis-je faire en sorte que l'utilisateur soit dirigé vers ' news.php après la connexion au lieu de ' /wp-admin/ ' ?

--

EDIT : J'ai un plug-in fonctionnel pour cela, mais la prime est toujours disponible pour quiconque peut trouver un moyen manuel de le faire via functions.php, car ce serait plus sûr que d'utiliser un plug-in tiers.

0 votes

Où se trouve news.php - dans le front-end ou dans la zone d'administration (c'est-à-dire le tableau de bord, c'est-à-dire un enfant de /wp-admin/... ) ? Pouvez-vous fournir un chemin complet ? example.com/... et ensuite quoi ?

4voto

Farahmand Points 449

Si vous disposez de php 5.3+, vous pouvez utiliser une fonction anonyme comme suit :

add_filter( 'login_redirect', function() { return site_url('news'); } );

2voto

gArn Points 113

El Thème Ma connexion peut vous aider - il vous permet de rediriger les utilisateurs de certains rôles vers des pages spécifiques.

2voto

Mike Points 31

La réponse acceptée n'est clairement pas une bonne réponse ! Elle peut résoudre votre problème pour un temps, mais que se passera-t-il la prochaine fois que vous mettrez à jour votre installation WordPress ? Vos fichiers de base peuvent être remplacés et vous perdrez toutes vos modifications.

Comme l'ont déjà indiqué d'autres personnes (réponses de Dan et Travis), la bonne réponse est d'utiliser la fonction login_redirect filtre.

1voto

Essayez ceci, cela fonctionne pour toutes les redirections sur WordPress.

add_filter('woocommerce_login_redirect', 'wc_login_redirect'); 

function wc_login_redirect( $redirect_to ) {

   $redirect_to = 'PUT HERE URL OF THE PAGE';
   return $redirect_to;

}

1voto

Lokesh Metta Points 1
// add the code to your theme function.php
//for logout redirection
add_action('wp_logout','auto_redirect_after_logout');
function auto_redirect_after_logout(){
wp_redirect( home_url() );
exit();
}
//for login redirection
add_action('wp_login','auto_redirect_after_login');
function auto_redirect_after_login(){
wp_redirect( home_url() );
exit();
`enter code here`}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X