我无法在此找到插件或任何信息。认为这应该很简单。我希望用户能够看到用户列表,但只让它显示相同或较小角色的用户。
例如,管理员可以查看所有用户 编辑可以看到作者和贡献者 作者作者只能看到贡献者 贡献者只看到订阅者
我添加了一些自定义角色,因此我的实际实现将在WP角色库存
之上管理员所有用户 经理(自定义角色)只能看到审阅者和业务 Reviewer(自定义角色)只能开展业务。 业务(自定义角色)无法访问用户列表(我已经开始工作了)。
答案 0 :(得分:0)
这是有效的,它不是我想要的,因为它只是删除/隐藏特定用户而不是用户组。我将继续努力,并在我有一段时间时尝试重写它以隐藏组。
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;
}