HEX
Server: LiteSpeed
System: Linux CentOS-79-64-minimal 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: vishn3436 (5293)
PHP: 8.0.15
Disabled: NONE
Upload Files
File: /home/vishnuweavesb2b.com/public_html/wp-content/mu-plugins/admin-lock.php
<?php

/**
 * Plugin Name: LockMyAdmin – Prashant Edition
 * Description: Blocks unauthorized admin user creation or deletion, preventing security breaches and ensuring only authorized changes to WordPress admin accounts.
 * Plugin URI: https://growhype.ai
 * Author: Prashant
 * Version: 1.0.3
 * Author URI: https://www.linkedin.com/in/ulikeprashant
 */

// 🚫 **1. Hide "Administrator" Role from User Creation Page**
add_filter('editable_roles', function ($roles) {
    if (isset($roles['administrator'])) {
        unset($roles['administrator']);
    }
    return $roles;
});

// 🚫 **2. Block Admin Role Assignment (Even via Plugins or Direct Edits)**
add_action('set_user_role', function ($user_id, $role) {
    if ($role === 'administrator') {
        wp_die('❌ Admin role assignment is blocked!');
    }
}, 10, 2);

// 🚫 **3. Prevent Direct Role Changes to Administrator**
add_filter('map_meta_cap', function ($caps, $cap, $user_id, $args) {
    if ($cap === 'promote_users' && isset($args[0])) {
        $user = get_userdata($args[0]);
        if ($user && in_array('administrator', $user->roles)) {
            return ['do_not_allow'];
        }
    }
    return $caps;
}, 10, 4);

// 🚫 **4. Block New Admin User Creation (Even via Custom Code)**
add_action('user_register', function ($user_id) {
    $user = get_userdata($user_id);
    if ($user && in_array('administrator', $user->roles)) {
        wp_delete_user($user_id); // Deletes the user instantly
        wp_die('❌ New admin users are NOT allowed!');
    }
});

// 🚫 **5. Prevent Admin User Deletion**
add_action('delete_user', function ($user_id) {
    $user = get_userdata($user_id);
    if ($user && in_array('administrator', $user->roles)) {
        wp_die('❌ Admin users CANNOT be deleted!');
    }
});