对于那些不是“超级管理员”的用户,如何从所有用户中删除“超级管理员”?

时间:2012-07-02 作者:Matt

我想删除顶部的过滤器,该过滤器为非“超级管理员”的用户显示“超级管理员”。我该怎么做呢?

此屏幕截图显示了我正在谈论的内容:enter image description here

1 个回复
SO网友:sxalexander

管理屏幕顶部的过滤器列表称为视图。可以使用管理视图views_{$this->screen->id} 滤器你要替换的地方{$this->screen->id} 您要管理的屏幕名称。

为了过滤Users 屏幕上,您可以尝试以下操作:

// filter the \'users\' views
add_filter( "views_users", "wse57231_filter_user_views");

function wse57231_filter_user_views($views){
  // This assumes the key for the role is \'super_admin\'
  // Is the current user not a "super_admin"?

  if( !current_user_can(\'super_admin\')){
    // Remove the super_admin view from the list of views
    unset($views[\'super_admin\']);
  }

  return $views;
}
参考文献:*https://developer.wordpress.org/reference/hooks/views_this-screen-id/ * http://codex.wordpress.org/Function_Reference/current_user_can

注:根据评论,这听起来像Super Admin 是您创建的自定义角色。这在一定程度上令人困惑,因为在使用WordPress Multisite时,超级管理员也是一个特殊角色的名称

结束