通过logout_url实现wordpress后台登出跳转到指定页面

在wordpress网站后台登出(即注销)后默认会跳转到wp-login.php登录界面,因为一个wordpress定制主题的需求,要在登出后台时跳转到指定的网站页面,查找了一下相关代码,发现可以通过logout_url这个filter轻松实现。

代码示例:

1
2
3
4
add_filter( 'logout_url', 'my_logout_page', 10, 2 );
function my_logout_page( $logout_url, $redirect ) {
    return home_url( '/my-logout-page/?redirect_to=' . $redirect );
}
参数说明:

$logout_url – 注销的URL,默认值:无

$redirect – 成功登出后要跳转到的URL,默认值:无

登出后台跳转到指定页面代码:
1
2
3
4
5
6
function my_logout_page($logout_url, $redirect){
	global $wp;
	$redirect = is_admin() ? home_url() : home_url($wp->request);
	return $logout_url . '&redirect_to=' . $redirect;
}
add_filter('logout_url', 'my_logout_page', 10, 2);

以上代码是判断当前页面是不是管理页,是就跳转到首页,不是就跳转到登出前的页面。

跳转到指定URL:
1
2
3
4
5
6
function my_logout_page($logout_url, $redirect){
	global $wp;
	$redirect = 'http://www.boke8.net';
	return $logout_url . '&redirect_to=' . $redirect;
}
add_filter('logout_url', 'my_logout_page', 10, 2);

把变量$redirect后面引号里的URL改为想要跳转到的URL即可。

WP官方文档:https://codex.wordpress.org/Plugin_API/Filter_Reference/logout_url

发表留言