WordPress教程

WordPress网站判断用户角色和权限

阿里云

其实判断 WordPress 用户角色和权限是非常少用的,对于普通的 WordPress 博主而言,可能这个功能不太常用,但是开放注册的 WordPress 而言,这个功能可能就会用到了。而子凡也就是因为需要做用户数据的整合及同步,在昨天子凡就发过一篇博客《WordPress 数据库整合导致后台登录无权限解决方法》,其中就涉及到了 WordPress 用户的权限问题,所以这里整理了一篇比较全面的文章,大家可以参考学习了解一下。

首先了解一下 WordPress 不同用户、不同角色的各级权限。在 WordPress 默认中,分五种角色(管理员、编辑、作者、投稿者、订阅者)和 11 种权限(level_0 ~ level_10),其中:

也想出现在这里?联系我们
创客主机

管理员拥有最高权限(level_0 ~ level_10)

编辑次之(level_0 ~ level_7)

再是作者(level_0 ~ level_2)

然后是投稿者(level_0 ~ level_1)

最后是订阅者(level_0)

在数据库中,关于权限的字段位于数据库中 wp_usermeta 表中的 meta_value,所以这个判断函数可以这么写:

  1. <?php   
  2. global $wpdb;
  3. //显示管理员
  4. $administrators = $wpdb->get_col("SELECT user_id FROM $wpdb->usermeta WHERE meta_key = 'wp_user_level' AND meta_value = 10 ORDER BY user_id");
  5. //显示管理员、编辑
  6. $editors = $wpdb->get_col("SELECT user_id FROM $wpdb->usermeta WHERE meta_key = 'wp_user_level' AND meta_value >= 7 ORDER BY user_id");
  7. //显示管理员、编辑、作者
  8. $authors = $wpdb->get_col("SELECT user_id FROM $wpdb->usermeta WHERE meta_key = 'wp_user_level' AND meta_value >= 2 ORDER BY user_id");
  9. //显示管理员、编辑、作者、投稿者
  10. $contributors = $wpdb->get_col("SELECT user_id FROM $wpdb->usermeta WHERE meta_key = 'wp_user_level' AND meta_value >= 1 ORDER BY user_id");

以上示例中只输出权限最高的管理员用户,大家都自己发挥吧!注释都写明了相关的权限和角色。

WordPress 网站判断用户角色和权限

已有 306 人购买
查看演示升级 VIP立刻购买

收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!