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

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

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


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;  // 非管理员
}

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

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


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;  // 非管理员
}