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!');
}
});