function ure_removeCapability() { global $wpdb, $wp_roles; $mess = ''; if (isset($_GET['removeusercapability']) && $_GET['removeusercapability']) { $capability = $_GET['removeusercapability']; $capsToRemove = getCapsToRemove(); if (!is_array($capsToRemove) || count($capsToRemove) == 0 || !isset($capsToRemove[$capability])) { return sprintf(__('Error! You do not have permission to delete this capability: %s!', 'ure'), $capability); } // process users $usersId = $wpdb->get_col($wpdb->prepare("SELECT {$wpdb->users}.ID FROM {$wpdb->users}")); foreach ($usersId as $user_id) { $user = get_user_to_edit($user_id); if (isset($user->roles[0]) && $user->roles[0] == 'administrator') { continue; } if ($user->has_cap($capability)) { $user->remove_cap($capability); } } // process roles foreach ($wp_roles->role_objects as $wp_role) { if ($wp_role->has_cap($capability)) { $wp_role->remove_cap($capability); } } $mess = sprintf(__('Capability %s is removed successfully', 'ure'), $capability); } return $mess; }
function ure_removeCapability() { global $wp_roles; $mess = ''; if (isset($_GET['removeusercapability']) && $_GET['removeusercapability']) { $capability = $_GET['removeusercapability']; $capsToRemove = getCapsToRemove(); $found = false; foreach ($capsToRemove as $cap) { if ($cap === $capability) { $found = true; } } if (!$found) { return sprintf(__('Error! You do not have permission to delete this capability: %s!', 'ure'), $capability); } foreach ($wp_roles->role_objects as $wp_role) { if ($wp_role->has_cap($capability)) { $wp_role->remove_cap($capability); } } $mess = sprintf(__('Capability %s is removed successfully', 'ure'), $capability); } return $mess; }