WordPress限制了具有较低角色权限的用户的用户视图



我无法找到插件或任何信息。认为这应该很简单。我希望用户能够查看用户列表,但只能显示出相同或更少角色的用户。

例如管理员可以看到所有用户编辑器可以查看作者和贡献者作者只能看到贡献者贡献者,只参见订阅者

我添加了一些自定义角色,因此我的实际实现将在库存WP角色的顶部下面

管理员所有用户经理(自定义角色(只能查看审阅者和业务审稿人(自定义角色(只能做生意。业务(自定义角色(无法访问用户列表(我已经有效(。

这有效,这并不是我想要的,因为它只是删除/隐藏特定的用户而不是用户组。我将在此工作,并尝试将其重写以隐藏组。

add_action('pre_user_query','dt_pre_user_query');
function dt_pre_user_query($user_search) {
   global $current_user;
   $username = $current_user->user_login;
   if ($username != 'hiddenuser') {
      global $wpdb;
      $user_search->query_where = str_replace('WHERE 1=1',
         "WHERE 1=1 AND {$wpdb->users}.user_login != 'hiddenuser'",$user_search->query_where);
   }
}
add_filter("views_users", "dt_list_table_views");
function dt_list_table_views($views){
   $users = count_users();
   $admins_num = $users['avail_roles']['administrator'] - 1;
   $all_num = $users['total_users'] - 1;
   $class_adm = ( strpos($views['administrator'], 'current') === false ) ? "" : "current";
   $class_all = ( strpos($views['all'], 'current') === false ) ? "" : "current";
   $views['administrator'] = '<a href="users.php?role=administrator" class="' . $class_adm . '">' . translate_user_role('Administrator') . ' <span class="count">(' . $admins_num . ')</span></a>';
   $views['all'] = '<a href="users.php" class="' . $class_all . '">' . __('All') . ' <span class="count">(' . $all_num . ')</span></a>';
   return $views;
}

最新更新