WordPress Version: 6.3
/**
* Checks if password reset is allowed for a specific user.
*
* @since 6.3.0
*
* @param int|WP_User $user The user to check.
* @return bool|WP_Error True if allowed, false or WP_Error otherwise.
*/
function wp_is_password_reset_allowed_for_user($user)
{
if (!is_object($user)) {
$user = get_userdata($user);
}
if (!$user || !$user->exists()) {
return false;
}
$allow = true;
if (is_multisite() && is_user_spammy($user)) {
$allow = false;
}
/**
* Filters whether to allow a password to be reset.
*
* @since 2.7.0
*
* @param bool $allow Whether to allow the password to be reset. Default true.
* @param int $user_id The ID of the user attempting to reset a password.
*/
return apply_filters('allow_password_reset', $allow, $user->ID);
}