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

Naj*_*hel 3 php wordpress wordpress-theming woocommerce wordpress-admin

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

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

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);
  }
}
Run Code Online (Sandbox Code Playgroud)

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

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;
}
Run Code Online (Sandbox Code Playgroud)

谢谢

在此输入图像描述

Ruv*_*vee 5

“我不是试图隐藏用户,而是试图隐藏用户列表上的(管理)选项卡”

您可以使用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;
}
Run Code Online (Sandbox Code Playgroud)

结果如下:

在此输入图像描述