首页>技术知识>WordPress wordpress主题实现非管理员登录后跳到首页
WordPress教程学习网站
2022-06-21
WordPress教程学习网站丨模板定制、网站使用教程、插件推荐、代码优化、wp建站教程、数据文章采集、系统开发、系统优化,功能开发,仿站教程等各类WordPress技术知识,供网友学习了解。

为了提升网站对用户的粘合度,作为站长的我们一般都会选择开放WordPress网站的注册权限。而开放了注册权限后,注册用户登录后,就会直接进入到wordpress网站的的后台,这个有点不太友好,这不就让用户直接就知道网站是用wordpress做的吗?当然,对于熟悉wordpress的用户来说,想让他以为不是wordpress做的,那是不可能的。为了提高用户体验,我们可以为WordPress主题添加功能:非管理员帐号登录时就直接进入网站的首页,这也是其它非wordpress网站所采用的方式。

image.png

那么,wordpress主题如何实现非管理员登录后进入首页?其实,实现起来也不是太难,代码如下:

//登录后跳转到首页
function login_redirect( $redirect_to, $request, $user ){
global $user;
if ( isset( $user->roles ) && is_array( $user->roles ) ) {
//如果登录用户是订阅者 或 投稿者 或 作者 的身份
if ( in_array( 'subscriber', $user->roles ) || in_array( 'contributor', $user->roles ) || in_array( 'author', $user->roles ) ) {
return home_url(); //指向首页
} else {
return admin_url(); //指向后台管理
}
}
return;;
}
add_filter( 'login_redirect', 'login_redirect', 10, 3 );

上面的代码意思是:如果这个用户是管理员,就让他进入后台,如果不是管理员,跳转到网站首页。这里用到了login_redirect登录勾子,在这个勾子中添加了上面的代码进入,进行过滤。

如果你也想让自己的wordpress网站的新用户登录后,不让进后台,而是进入到网站首页,那就试试我的这段代码吧,相信会给你带来一定的收获。当然,如果用户在登录后,通过wordpress后台的链接还是可以进入后台的。在下一章中我们会介绍限制非管理员用户进入后台。

显示全部内容...