User to view/change own membership as well as address details etc
Create a profile with all the information you want the user to edit. (I would not let a user change membership type, but as you wish.)
Create a new page on Wordpress - call it View Profile - or whatever you want.  Then embed the CiviCRM shortcode by clicking the insert civicrm content button, choose profile, choose the profile, choose view, and don't over ride.
Create a new page on Wordpress - call it Edit Profile - or whatever you want.  Then embed the CiviCRM shortcode by clicking the insert civicrm content button, choose profile, choose the profile, choose edit, and don't over ride.
Create links to those pages for users to access.


Optionally use the members plugin and restrict the content of those pages to only members or whatever configuration you want.