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

自定义`WordPress`插件的时候,需要判断当前用户的角色是不是网站管理员,如果是管理员的情况下才允许使用插件功能,否则禁止使用。

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

function is_administrator() {
  // wp_get_current_user函数仅限在主题的functions.php中使用
  $currentUser = wp_get_current_user();

  if(!empty($currentUser->roles) && in_array('administrator', $currentUser->roles)) 
    return True;  // 是管理员
  else
    return False;  // 非管理员
}

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

function is_administrator() {
  if( is_user_logged_in() ) {
    //用户已登录,检查用户角色
    global $current_user;
    if((!empty($current_user)) && (!empty($current_user->roles)) && in_array('administrator', $current_user->roles)) 
      return True;  // 是管理员
  }
  return False;  // 非管理员
}

更简单的代码如下:

function is_administrator() {
  if( current_user_can( 'manage_options' ) ) { return True; }
  return False;  // 非管理员
}

参考连接


发布者

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注