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)
谢谢
“我不是试图隐藏用户,而是试图隐藏用户列表上的(管理)选项卡”
您可以使用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)
结果如下: