I have a pet project using WordPress that’s close to the final testing stage. I really wanted to have the page that opens when a user wants to edit their profile look like the rest of my site, not like a stripped-down version of the WP dashboard.
I’d been trying to use a combination of the Customize Your Community plugin, which puts the login, registration, password reminder and profile pages into your theme, but Create Your Community was having a conflict with the custom user meta data display. After a number of attempts to get around that problem, I decided to go ahead and do it the other way – customize the core file responsible for the ‘edit profile’ page, which is /wp-admin/user-edit.php.
Now this work only effects the ‘edit profile’ page, it has no effect on the login/registration/password reminder pages. For that, I found the Theme My Login plugin. Works well, puts those functions right into your theme, and is oretty easy to style with CSS.
So now I’m a happy camper. I wish there’d been a way to easily make the profile page work with my theme, but going this route was not that big of a deal. I simply took the header and footer sections from my theme and replaced the “include(‘admin-header’.php);” and “include(‘admin-footer.php’); statements in /wp-admin/user-edit.php. It took only about 5 minutes to get this looking right, and now I’m just doing a little bit of styling on the form itself.
Of course, whenever WP updates I’ll have to replace the two code snippets in the new user-edit.php file. That’s not a huge deal. But eventually perhaps WordPress will have a feature that enables one to keep all the user accessible pages in the theme rather than on the admin side.