贝壳之家

WordPress中判断用户是不是管理员

评分 9.4, 满分 10 分 (10 票)
Loading...
如果需要我帮忙改代码,或者有WordPress二次开发 / PHP网站建设等需求,可以联系我购买付费服务。QQ 825533758
文章目录

今天在写个小程序,需要判断指定用户的角色是不是网站管理员,如知道用户的id是123,想要知道他是不是管理员。

一、判断指定id的用户是不是管理员

该需求实现起来非常简单,几行代码搞定,分享一下:

1
2
3
4
5
6
7
function ludou_is_administrator($user_id) {
  $user = get_userdata($user_id);
  if(!empty($user->roles) && in_array('administrator', $user->roles))
    return 1;  // 是管理员
  else
    return 0;  // 非管理员
}

二、判断当前登录用户是不是管理员

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

1
2
3
4
5
6
7
8
9
function ludou_is_administrator() {
  // wp_get_current_user函数仅限在主题的functions.php中使用
  $currentUser = wp_get_current_user();

  if(!empty($currentUser->roles) && in_array('administrator', $currentUser->roles))
    return 1;  // 是管理员
  else
    return 0;  // 非管理员
}
露兜
ourwindow@163.com

业余编程爱好者。

标签: WordPress
我要提问

6 条评论

点此留言
  1. yun'yun'qiang'wei

    呵呵,不错学习了

  2. 斌果

    我一直在用 is_super_admin( $user_id = false ) 函数

  3. 斌果

    评论怎么没了,审核么

    • 露兜

      @斌果 嗯,审核。
      现在又用了360网站卫士,有缓存,评论不会立即显示。

  4. Qa

    我想在评论里判断留言人是否为作者。
    尝试获取留言人邮箱,然后我找了半天也没发现通过邮箱判断用户组的函数。
    退求其次邮箱转成ID再进行判断,然后…
    邮箱怎么转成ID?Orz

发表评论

评分 9.4, 满分 10 分 (10 票)
Loading...