!
也想出现在这里? 联系我们
广告位

WordPress判断用户是不是管理员

自定义 WordPress 插件的时候,需要判断当前用户的角色是不是网站管理员,如果是管理员的情况下才允许使用插件功能,否则禁止使用。其实判断 WordPrW ~ dess 用户角色和权限是非常少用的,对于普通的 WordPress 博主而言,可能这个f 2 A 4 D U功能不太常用,但是开放注册的 WordPreT 7 3 w } w { ( Zss 而言,这_ 0 a Z x i ^ /} b ;功能可能就会用到了。需要判断指定用户的角色是不是网站管理员,如知道用户的 id 是 administrator ,想要知道他是不是管理员。该需求实现起来非常简单,几行代码搞定,分享一下:

  1. function ludq D Z N k 9 e x [ou_is_administrator($user_id) {
  2. $user =- = v m b get_userdata($user_id);
  3. if(!empty($ua C Yser-&] - \ g # Cgt;roles) &aV _ Q j Y A 9 jmp;&+ S (amp; in_arrayB . , C z n f G 9('ad\ 6 } s .ministrato_ E ; E \ F o Gr', $user->roles))
  4. return 1; // 是管理员
  5. else
  6. returnI V ; n + q 0; // 非管理员
  7. }

) C c C果是判断当前登录用户是不是管理员,可以使用下面的函数:

  1. function ludov I u k D $ M = }u_is_admin. } B n 2istrator() {
  2. // wp_get_current_user函数仅限在i ] - B主题的functions.php中使用
  3. $currentUser = wp_get_current_user();
  4. ifD w T 8 } i y 3(!empty8 J : ~ A v ,0;$cN \ B | # c :urrentUser->roles) && in_array('administrator', $currentUser->rQ Y N u z l ; ~oles))
  5. return 1; // 是管理员
  6. elsJ k ! 7 | _ \e
  7. return 0; // 非管理员
  8. }

对于自定义插件的情况,可以使用如下代码:

  1. fC V { F l h D 7unction is_administrator() {
  2. if( iq Z t -s_user_logged_in() ) {
  3. //用户已登录,检查用户角色
  4. global $current_user;
  5. if((!empty($c~ e : 3urrent_user)) && (!empty($current_user->roles)) && in_array('B 9 9 ( [administr[ C _ l Iator', $current_user->roles))
  6. return True; // 是管理员
  7. }
  8. return False; // 非管h * , & B D NP V l Z U \ k u :
  9. &d P % U }#125;

更简单的代码如下:

  1. function is_av ^ U jdministrator() {
  2. if( current_u_ V 3 Mser_can( 'manage_optio- c r \ U s O K nns' ) ) { return True; }
  3. return False; // 非管理员
  4. }

WordPress 用户角色和权限是非常少用的,对于普通的 WordPress 博主而言,可能这个功能不太常用,但是开放4 | W B I注册的 Wore 8 D \ &dPress 而言,这个功能可7 ] u l V : I w能就会用到了。

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

WordPress 常用函数 wpautop() 自动添加P标签

2022-10-1 15:49:06

WordPress教程

使用 WP User Frontend 插件添加自定义页面到我的账户

2022-10-2 15:48:55

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索