有些时候我们会用到WordPress的用户注册功能,但是限于WordPress的用户系统功能比较单调,除了登录和注册,我们可能不会让用户直接使用WordPress的后台,而是在前台编写个用户登录注册功能,在新用户注册成功登录后,直接跳转到WordPress网站的首页。但是,如果在浏览器地址栏输入WordPress后台的地址,依然可以进入到WordPress网站的后台。这不是我们所想要的,那么如何设置非管理员用户不能进入WordPress后台?
WordPress后台 – 设置 – 常规中,我们可以设置注册用户的默认角色:
如果你不想让默认角色的用户进入WordPress后台,你可以在当前主题的functions.php中加入以下代码:
1 2 3 4 5 6 7 8 | //非管理员不允许进入后台 if(is_admin() && (!defined('DOING_AJAX') || !DOING_AJAX)){ $current_user = wp_get_current_user();//获取当前登录用户的信息 if($current_user->roles[0] == get_option('default_role')){//如果不是管理 wp_safe_redirect(home_url()); //就安全地重定向到网站的首页 exit(); } } |
通过上面这段代码,我们就实现了限制非管理员用户进入到wordpress网站的后台。
然后使用默认角色的用户帐号登录,是不是就直接跳转到首页了。