You can use the show_fields attribute in the s2Member-List shortcode.
show_fields Optional, defaults to “” (an empty string, i.e., no fields). This is one of the most useful shortcode attributes. You can build a list of fields for each user. For instance, if you have Custom Registration/Profile Fields configured with s2Member you can provide a comma-delimited list of unique Field IDs here. If the user has a value for that field it will be displayed in the final output. e.g., show_fields=”user_login,user_registered,custom_field_id”. The list of field IDs can include anything compatible with s2Member’s get_user_field() function.
See the documentation here for more details: https://s2member.com/kb-article/s2member-list-shortcode-documentation/
The s2Member-List shortcode is an s2Member Pro feature.
Or are you talking about a directory generated some other way? In that case you’d need to edit it to add the column for that field, and then you can use get_user_field to populate it. See: https://s2member.com/kb-article/s2get-shortcode-documentation/
I hope that helps. ??
Cristián