首先说说 WordPress 用户角色有哪些?WordPress 自身的用户角色,仅指 WordPress 安装时就有的几种用户角色 (所列为角色名
称) 。此外,如果启用了 WordPress 多站点,将会多出一种用户角色:Super Admin(超级管理员) 。
- 订阅者 (Subscriber):只能修改自己的个人资料,例如昵称、联系信息、密码等等。
- 投稿者 (Contributor):具有订阅者的所有权限。可以发表文章,发表的文章需要经过管理员审核后才能在博客上显示出来,但可以预览效果。对待审中的文章可以编辑,但对已通过审核的文章不能编辑,可以查看所有站内评论,但不能对评论进行编辑。
- 作者 (Author):具有投稿者的所有权限。可以编辑已通过审核的文章,发表文章不需要审核,可以使用媒体库。
- 编辑 (Editor):具有作者的所有权限。可以对文章标签、分类进行管理,可以管理友情链接,可以编辑评论,可以添加或编辑页面,还可以编辑待审中的文章,但编辑后仍然处于待审状态。实际上,编辑只是不具备外观、插件、用户、设置和备份这些选项的操作。
- 管理员 (Administrator):具有 admin 的所有权限,包括删除 admin!不能随便给他人这个权限,这个不用具体说也知道啦。
下面说说具体的使用实例:我们在使用了 bbPress 插件之后,后台管理员登录之后无法调整到/wp-admin/,而是显示的首页,这个对
于我们来说及其不方便,不和谐。所以我们根据以上用户角色,我们来做一些事情
function login_redirect($redirect_to, $request, $user)
{
return (is_array($user->roles) && in_array('administrator', $user->roles)) ? admin_url() : site_url();
}
add_filter('login_redirect', 'login_redirect', 10, 3);
下面是我们在角色注销后,跳转到首页的实例。
function logout_redirect($logouturl, $redir) {
$redir = 'https://www.weixiaoduo.com/'; // 这里改成你要跳转的网址
return $logouturl . '&redirect_to=' . urlencode($redir);
}
add_filter('logout_url', 'logout_redirect', 10, 3);
以上钩子相关参数可以根据角色名称和跳转的时间自行修改。