The reasons may vary, but if you need to prevent users from resetting their own passwords via the “Lost your password?” link, add this:
add_filter('allow_password_reset', '__return_false' );
Alternatively, if you only want to stop certain users from resetting their passwords, do this:
add_filter('allow_password_reset', 'no_reset', 10, 2 ); function no_reset( $bool, $user_id ) { $ids = array( 3, 10 ); //IDs of users who are not allowed to reset their password if ( in_array( $user_id, $ids ) ) return false; return true; }