Devi reindirizzare gli utenti del tuo sito wordpress ad una pagina personalizzata dopo che hanno effettuato il login?
Vediamo come fare.
Introduzione
Potrebbe ritornarci molto utile reindirizzare gli utenti ad una pagina personalizzata dopo che hanno effettuato il login. Potrebbe essere utile se vogliamo far compilare loro un questionario, oppure se è tanto tempo che non cambiano la password e vogliamo obbligarli a modificarla. Insomma di utilizzi ce ne sono infiniti.
Reindirizzare l’utente dopo aver effettuato il login nel nostro sito wordpress
Per questo ci viene in aiuto il filter che wordpress ci mette a disposizione login_redirect.
Il codice
/** * Redirect degli utenti dopo che hanno effettuato il login. * @return string */ function redirect_user_after_login( ) { $redirect_to = home_url('/pagina-personalizzata-dopo-login/'); return $redirect_to; } add_filter( 'login_redirect', 'redirect_user_after_login', 10, 3 );
Questo è l’esempio più semplice di utilizzo, quando gli utenti si loggano, li rimandiamo alla pagina impostata in $redirect_to.
In questo esempio seguente invece, effettuiamo un redirect dell’utente avanzato dove impostiamo dei controlli avanzati sul tipo di utente
/** * Redirect degli utenti dopo che hanno effettuato il login. * * @param string $redirect_to URL dove reindirizzare l'utente. * @param string $request URL di provenienza dell'utente (pagina da dove ha fatto il login). * @param object $user Dati dell'utente loggato. * @return string */ function redirect_user_after_login( $redirect_to, $request, $user ) { //is there a user to check? global $user; if ( isset( $user->roles ) && is_array( $user->roles ) ) { //Verifichiamo se l'utente è amministratore if ( in_array( 'administrator', $user->roles ) ) { //Redirect alla pagina di default return $redirect_to; } else { return home_url('/mia-pagina-personalizzata'); } } else { return $redirect_to; } } add_filter( 'login_redirect', 'redirect_user_after_login', 10, 3 );
Questo esempio utilizza dei controlli sul ruolo dell’utente che si è loggato e lo reindirizziamo a pagine differenti.
Ora non ti resta che modificare questa funzione ed implementare i controlli di cui hai bisogno…
…e per oggi è tutto…
DETTAGLI
Livello: basso
Compatibilità: testato su WP versione 3.9.1
Ciao Carlo,
forse questo articolo può aiutarti 😉
http://dot4all.it/stage/stage/wordpress-woocommerce-reindirizzare-lutente-alla-pagina-richiesta-dopo-login-personalizzato/
Grazie
Se dovessimo “non reindirizzare ” affatto, cioè tornare alla pagina che stavamo visitando prima di fare il login, come potremmo intervenire?