This certainly can be done, but it requires some work. I am developing a pretty complex plugin for a client, and I plan to expand on it and make it available publicly when it is ready.
Telling you everything would take ages, so I will just give you some pointers on how you can achieve what you are aiming for.
-
Make a page called “Profile” and use a custom template in your theme to style the page and add the functionality you wish to. Use the filter
login_redirect
to redirect your users on their profile pages (or wherever you wish, not on the backend). -
Use and customize your login form with
wp_login_form
. If you want to customize the standard WP form, take a look at the in-depth tips on the codex. You can find all the hooks, CSS classes, ids, and so on for easy reference. Creating a custom registration form is going to be more tricky: your best friends in this process?wp_insert_user
andwp_verify_nonce
. -
There is a meta option associated with the user which decides whether or not the admin bar should be shown. You can edit it from the backend, or programmatically (e.g. on new user registration) like this
update_user_meta( $user, 'show_admin_bar_front', 'false' );
-
Check for your user role, and refer to
show_admin_bar
. -
Check for your user role and consider using
wp_redirect
(remember toexit
!)
This should give you enough info and references to get going by yourself, but if you need any more specific help, feel free to ask.