Login redirect to last page
-
Here is a tested solution to redirect users after login to last page before logout.
// # store the last known URL to session function remember_last_page() { $referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''; $url = filter_var($referrer, FILTER_SANITIZE_URL); if(!empty($url)) { // # Check if session exists, if not start one - PHP 5.4+ required for session_status() if (session_status() == PHP_SESSION_NONE) { session_name('last_page_visited'); session_start(); } // # prevent looping back to the login page! $tld = (stripos($_SERVER['SERVER_PROTOCOL'],'https') === true ? 'https://'.$_SERVER['HTTP_HOST'].'/' : 'https://'.$_SERVER['HTTP_HOST'].'/'); if (strpos($url, 'login') === false || $url == $tld) { $_SESSION['last_page_visited'] = $url; } } } add_action('init', 'remember_last_page'); // # redirect user to last requested page if session contains 'last_page_visited' function login_redirect_to_last() { if(!empty($_SESSION['last_page_visited'])) { $url = filter_var($_SESSION['last_page_visited'], FILTER_SANITIZE_URL); return $url; } } add_filter( 'login_redirect', 'login_redirect_to_last');
You can stick this in your functions.php or create a new plugin and install it from the plugin manager.
Cheers.
Viewing 1 replies (of 1 total)
Viewing 1 replies (of 1 total)
- The topic ‘Login redirect to last page’ is closed to new replies.