You can have two different approaches, Both require some coding.
-
Using a Plugin
In your case, there are a lot of good plugins out there but If I’d like to give a name, you’ll have to check
Profile Extra Fields by BestWebSoft
(I think it doesn’t require a lot of coding) andAdvanced Custom Fields
(It requires some coding but it worth, you can take a look at this article to read more about how to add user fields in ACF) -
Coding from scratch using WordPress’s built-in user functionalities
There are very good built-in functions like
get_user_meta
,add_user_meta
, etc.They’re very easy to use and they’re very well integrated inside the WordPress platform. You can learn more about these functions and some more by looking into the
users.php
file.