-
-
Save lukecav/9e7775cbe3172ef32b5191f5b56d64fb to your computer and use it in GitHub Desktop.
function getLogoutUrl($redirectUrl = ''){ | |
if(!$redirectUrl) $redirectUrl = site_url(); | |
$return = str_replace("&", '&', wp_logout_url($redirectUrl)); | |
return $return; | |
} | |
/** | |
* Bypass logout confirmation on nonce verification failure | |
*/ | |
function logout_without_confirmation($action, $result){ | |
if(!$result && ($action == 'log-out')){ | |
wp_safe_redirect(getLogoutUrl()); | |
exit(); | |
} | |
} | |
add_action( 'check_admin_referer', 'logout_without_confirmation', 1, 2); |
What do you have to edit in the code to make it work? Can someone please explain it.
Just go to your Appearance >> Theme editor >> Function.php file. And End of that file simply paste the above code
You can add the code into the functions.php
file of the child theme, use a plugin like Code Snippets or add the code into a site-specific plugin.
Hi Luke,
The code is very much working for me, except that it is not detecting the redirect_to URL as mentioned in the Logout URL, for e.g., /wp-login.php?action=logout&redirect_to=/login/
No matter whatever value I provide in redirect_to, I am always redirected to the homepage.
Can you please sort it out?
Thanks in advance.
Perfect for me! (youpage.com/wp-login.php?action=logout)
/**
- Generates custom logout URL
*/
function getLogoutUrl($redirectUrl = ''){
if(!$redirectUrl) $redirectUrl = site_url();
$return = str_replace("&", '&', wp_logout_url($redirectUrl));
return $return;
}
/**
- Bypass logout confirmation on nonce verification failure
*/
function logout_without_confirmation($action, $result){
if(!$result && ($action == 'log-out')){
wp_safe_redirect(getLogoutUrl());
exit();
}
}
add_action( 'check_admin_referer', 'logout_without_confirmation', 1, 2);
Below code worked fine for me
/** * Generates custom logout URL */ function getLogoutUrl($redirectUrl = ''){ if(!$redirectUrl) $redirectUrl = site_url(); $return = str_replace("&", '&', wp_logout_url($redirectUrl)); return $return; } /** * Bypass logout confirmation on nonce verification failure */ function logout_without_confirmation($action, $result){ if(!$result && ($action == 'log-out')){ wp_safe_redirect(getLogoutUrl()); exit(); } } add_action( 'check_admin_referer', 'logout_without_confirmation', 1, 2);
Tried this yesterday. Worked for me. Thanks!
What do you have to edit in the code to make it work? Can someone please explain it.