The illegal_user_logins WordPress PHP Filter allows you to modify the list of disallowed usernames.
Usage
add_filter('illegal_user_logins', 'custom_illegal_user_logins'); function custom_illegal_user_logins($usernames) { // your custom code here return $usernames; }
Parameters
$usernames
(array): Array of disallowed usernames.
More information
See WordPress Developer Resources: illegal_user_logins
Examples
Block additional usernames
Block the usernames “admin2” and “superuser”.
add_filter('illegal_user_logins', 'block_additional_usernames'); function block_additional_usernames($usernames) { $usernames[] = 'admin2'; $usernames[] = 'superuser'; return $usernames; }
Disallow usernames containing specific words
Disallow usernames that contain “admin” or “test”.
add_filter('illegal_user_logins', 'disallow_specific_words'); function disallow_specific_words($usernames) { foreach ($usernames as $username) { if (strpos($username, 'admin') !== false || strpos($username, 'test') !== false) { $disallowed_usernames[] = $username; } } return $disallowed_usernames; }
Allow all usernames except for “admin”
Allow all usernames except for “admin”.
add_filter('illegal_user_logins', 'allow_all_except_admin'); function allow_all_except_admin($usernames) { return array('admin'); }
Remove all disallowed usernames
Allow all usernames by returning an empty array.
add_filter('illegal_user_logins', 'remove_disallowed_usernames'); function remove_disallowed_usernames($usernames) { return array(); }
Load disallowed usernames from a text file
Load disallowed usernames from a text file called “blocked_usernames.txt”.
add_filter('illegal_user_logins', 'load_disallowed_usernames_from_file'); function load_disallowed_usernames_from_file($usernames) { $blocked_usernames = file('blocked_usernames.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); return array_merge($usernames, $blocked_usernames); }