Logout / Login Redirect Code Snippets
User Login redirect
Het kan voorkomen dat we bepaalde gebruikers na het inloggen naar de home-pagina of naar een bepaalde pagina op de website willen doorsturen. Dat kan met een plugin maar ook met de volgende code snippets.
Redirect User naar Home:
/* Redirect User met ID XX naar Home */ add_filter( 'login_redirect', 'redirect_to_home', 10, 3 ); function redirect_to_home( $redirect_to, $request, $user ) { if( $user->ID == XX ) { return get_home_url(); } else { return $redirect_to; } }
Vervang de ‘XX’ door de ID van de gebruiker en die gebruiker wordt dan na het inloggen doorgestuurd naar de home-pagina (niet bekend met de WordPress ID’s, bekijk dan dit artikel: WordPress ID’s Achterhalen).
Redirect User naar Specifieke Pagina
Willen we een bepaalde gebruiker doorsturen naar een specifieke pagina, gebruik dan de volgende code:
/* Redirect User met ID XX naar URL */ add_filter( 'login_redirect', 'redirect_to_home', 10, 3 ); function redirect_to_home( $redirect_to, $request, $user ) { if( $user->ID == XX ) { return home_url('de-pagina'); } else { return $redirect_to; } }
Vervang ook hier XX door de User-ID en “de-pagina” door de URL van de pagina, waar de gebruiker naar toegestuurd dient te worden.
Redirect Iedereen behalve Beheerder
Willen we alle gebruikers na inloggen bijvoorbeeld naar de home-pagina doorsturen, behalve de gebruiker met de Beheerders-rol, dan kan dat met deze code-snippet:
/* Redirect Alle Users behalve Admin naar Home */ add_filter('login_redirect', 'user_login_redirect', 10, 3); function user_login_redirect($redirect_to, $request, $user) { return (is_array($user->roles) && in_array('administrator', $user->roles)) ? admin_url() : site_url(); } }
Logout Link & Redirect
Om een link aan bijvoorbeeld het menu toe te voegen of ergens in een pagina te plaatsen kan gebruik worden gemaakt van: “/wp-login.php?action=logout” als link.
Wordt die link aangeklikt dan vraagt WordPress om een bevestigings:

Logout bevestiging
(de melding is in de taal van de website-taal).
Om die melding te omzeilen en de gebruiker naar een pagina op de website door te sturen, voegen we de volgende code aan het functions.php bestand toe:
/* Skip logout bevestiging en redirect naar een pagina */ add_action('check_admin_referer', 'logout_without_confirm', 10, 2); function logout_without_confirm($action, $result) { if ($action == "log-out" && !isset($_GET['_wpnonce'])) { $redirect_to = isset($_REQUEST['redirect_to']) ? $_REQUEST['redirect_to'] : 'PAGINA-URL'; $location = str_replace('&', '&', wp_logout_url($redirect_to)); header("Location: $location"); die; } }
‘PAGINA-URL’ moet dan vervangen worden door de pagina waar de gebruiker naar toegestuurd dient te worden.
Vragen & Info
Heb je vragen naar aanleiding van dit artikel, stuur ons dan een mail op: info@qwain.nl of geef een reactie via onderstaand reactie-formulier.
Ondersteuning staat bij ons op nummer 1, wij zijn je graag van dienst !
Op de hoogte blijven van alle WordPress Nieuwtjes, Tips & Tricks… schrijf je dan in voor onze nieuwsbrief
en volg ons op Facebook .
Overige Artikelen