Wordpress 如何从用户列表中隐藏用户角色选项卡

Wordpress how to hide user role tab from users list

我已经从列表中隐藏管理员用户并减去用户数,但是,用户列表中的管理员角色选项卡(用户>>所有用户)仍然显示,我想隐藏它随心所欲。

这是我用来隐藏管理员的代码:

add_action('pre_user_query','site_pre_user_query');
function site_pre_user_query($user_search) {
    global $current_user;
    $username = $current_user->user_login;
 
    if ($username == 'admin') {
    }
 
    else {
    global $wpdb;
    $user_search->query_where = str_replace('WHERE 1=1',
      "WHERE 1=1 AND {$wpdb->users}.user_login != 'admin'",$user_search->query_where);
  }
}

这就是我用来减去用户数的方法:

add_filter("views_users", "site_list_table_views");
function site_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;
}

谢谢

"I am not trying to hide the user, am trying hide the ( Administration ) tab on the users list"

您可以使用 unset 函数和 views_users 过滤器钩子来删除“管理员角色选项卡”。

add_filter("views_users", "removing_admin_tab_from_users_list");

function removing_admin_tab_from_users_list($views)
{
    unset($views['administrator']);
    return $views;
}

结果如下: