-
-
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); |
This works like a charm.
Thanks!
What do you have to edit in the code to make it work? Can someone please explain it.
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!
This was VERY helpful, thanks!