Using WordPress ‘enable_edit_any_user_configuration’ PHP filter

The enable_edit_any_user_configuration WordPress PHP filter allows administrators on a Multisite network to edit every user’s information.

Usage

add_filter('enable_edit_any_user_configuration', 'my_custom_function');
function my_custom_function($allow) {
  // your custom code here
  return $allow;
}

Parameters

  • $allow (bool) – Whether to allow editing of any user. Default is true.

More information

See WordPress Developer Resources: enable_edit_any_user_configuration

Examples

Restrict administrators from editing any user

Prevent administrators from editing any user on a Multisite network.

add_filter('enable_edit_any_user_configuration', '__return_false');

Allow administrators to edit users only with a specific role

Allow administrators to edit only users with the ‘author’ role.

add_filter('enable_edit_any_user_configuration', 'allow_edit_authors_only', 10, 2);
function allow_edit_authors_only($allow, $user_id) {
  $user = get_userdata($user_id);
  return in_array('author', $user->roles);
}

Disable user editing for specific user IDs

Disable user editing for user IDs 2, 5, and 7.

add_filter('enable_edit_any_user_configuration', 'disable_edit_for_specific_users', 10, 2);
function disable_edit_for_specific_users($allow, $user_id) {
  $restricted_users = array(2, 5, 7);
  return !in_array($user_id, $restricted_users);
}

Allow user editing only for administrators with a custom capability

Allow user editing only for administrators with the ‘edit_custom_users’ capability.

add_filter('enable_edit_any_user_configuration', 'allow_edit_for_custom_capability', 10, 2);
function allow_edit_for_custom_capability($allow, $user_id) {
  return current_user_can('edit_custom_users');
}

Restrict user editing based on the logged-in user’s ID

Disallow user editing if the logged-in user’s ID is less than the user being edited.

add_filter('enable_edit_any_user_configuration', 'restrict_editing_based_on_logged_in_user', 10, 2);
function restrict_editing_based_on_logged_in_user($allow, $user_id) {
  return get_current_user_id() >= $user_id;
}