Note: Before make this question as duplicate question, please read the question because my question is different from other questions in WP stack exchange..

I wanted to add a user profile system (something like BuddyPress Profiles) for WordPress.

I have 3 ways in my mind to do it:

1. Create a Custom Post Type called profile :

I will create a custom post type called profile. When user is registering for the site I will create a custom post(profile) for a user. I will save the user id as a custom field.

2. Create a template called profile.php :

Member profiles are displayed like profile.php?user_id=1..........

3. Try to modify author page for all users

I tried to modify author page for all users in my previous project. But I could not do it. I don't know that this is possible or not. But I believe this is a possibility.

What will be the best way to create user profile for all users from above three ways?

  • Do you mean create a page to manage the profile for the registered users, but it is done via the front-end, not the wp-admin section?
    – Greeso
    Apr 26, 2016 at 15:51
  • @Greeso No, I mean something like BuddyPress profiles.
    – Sasa1234
    Apr 26, 2016 at 15:52
  • Could you please elaborate more? I still do not understand what you like to do.
    – Greeso
    Apr 26, 2016 at 15:54
  • @Greeso I am making a something like inbound.org for a client. So all registered members should have a profile(something like stackexachange account ex: wordpress.stackexchange.com/users/56652/sasa1234 ). But I can't use a plugin like buddy press plugin because my client forced me to use a custom plugin.
    – Sasa1234
    Apr 26, 2016 at 16:02

1 Answer 1


Based on your comments, you should choose option 2 (using special template files). You can do that multiple ways, but I suggest you do the following:

  1. Create a plugin that will setup login, register, retrieve password, profile, delete account, and other related pages; (there will be a lot of pages). Creating a plugin is just a suggestion, but I prefer doing it this way, so it is independent of any theme. This way, when you switch themes, you do not have to make lot of changes to your child theme. This is the back-end for front-end users so to speak, so try to make it theme-independent.

  2. Add functionality to redirect pages and users appropriately

  3. I also recommend creating a new role, to prevent users from going to the back end. Those users who register at the front end will not have any ability to access the backend this way (by backend, I mean the wp-admin area).

I am currently working on a similar project, and this should take you about 3 weeks to a month. But requires lots of planning, otherwise you will lose track of where you are.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.