Beginner's Guide for WordPress / Start your WordPress Blog in minutes

How to Add a Custom Author Profile Page to Your WordPress

Do you want to add a custom author profile page to your WordPress site? Many WordPress themes have limited author profile information on their author archive page. In this article, we will show you how to create a custom author profile page in WordPress.

Adding a custom author profile page in WordPress

Method 1. Add Custom Author Profile Page in WordPress with WP User Manager

This method is recommended for all users. It is easy to setup and has more features.

First thing you need to do is install and activate the WP User Manager plugin. For more details, see our step by step guide on how to install a WordPress plugin.

Upon activation, you need to visit Users » WPUM Settings page to configure the plugin settings.

WP User Manager settings page

The plugin will automatically create different pages to use as custom login, custom user registration, forgot password, account, and profile pages.

WP User Manager is a powerful plugin and comes with a lot of options. You need to carefully review them and turn off the features that you don’t want to use.

Next, you need to click on the ‘Profiles’ tab to setup user profile settings.

User profile page settings

Here you can enable profile page option for guests, which means anyone can view user profiles. You can also allow members to view each other’s profiles. If you uncheck this option, then users will only be able to view their own profile pages.

You can also allow users to upload custom profile photo and display their recent articles as well as comments on their profile page.

Don’t forget to click on the save changes button to store your settings.

Next, you need to select SEO friendly URLs or permalinks for the author profile pages. You can do this by visiting Settings » Permalinks page and scroll down to the ‘User profile permalink base’ section.

Select a URL structure for user profile pages

The plugin offers you to use user ID, username, or nickname in the URL. Both nickname and username are more SEO friendly options than user ID. Click to select either one of them and then click on the save changes button to store your permalink settings.

Your custom author profile pages are almost ready. Now we just need to let users easily find their profile pages on your website.

Head over to Appearance » Widgets page and add [WPUM] Login Form widget to a sidebar.

Add user login and profile link widget to sidebar

You can now visit your website to see the author profile page in action. As a logged in user, you will see your own account information in the sidebar widget. Clicking on the username will take you to your author profile page.

Author profile page

The sidebar widget will show a login form to logged out users. If you allow users to register on your website, then the form will also include a link to sign up.

The plugin will also change author links on your website and point them to the author profile page instead of the default author’s archive pages.

Changing Appearance of Author Profile Pages

If you just want to change colors or borders, then you can do that by adding custom CSS.

However, if you want to change the layout and order of things, then you will need to edit the plugin’s template files. WP User Manager comes with custom templates support which means you can create your own templates inside your current theme for the plugin to use.

First you need to connect to your website using an FTP client and go to /wp-content/plugins/wp-user-manager/templates/ folder. Download all the files you see there to your computer.

Next, you need to go to your current theme folder and create a new folder “wpum” inside it. Now upload the files you downloaded earlier to the wpum folder.

Now you can edit these files to customize the appearance of your profile pages as needed.

Method 2. Manually Create a Custom Author Profile Page in Your Theme

This method requires you to edit your WordPress theme or child theme files. If you haven’t done this before, then please see our guide on how to copy and paste code in WordPress.

First, you will need to connect to your website using an FTP client and go to /wp-content/themes/your-current-theme/ folder.

Inside your current theme folder, you need to create an author.php file. After that you need to copy the contents of archive.php file and paste them inside your new author.php template.

If your theme already has an author.php file, then you can edit that as well.

Your goal here is to get author’s profile information and then display it. You will need to decide where you want to start editing. Usually, you can edit anything between the get_header(); and get_sidebar() lines.

// Set the Current Author Variable $curauth
$curauth = (isset($_GET['author_name'])) ? get_user_by('slug', $author_name) : get_userdata(intval($author));
<div class="author-profile-card">
    <h2>About: <?php echo $curauth->nickname; ?></h2>
    <div class="author-photo">
    <?php echo get_avatar( $curauth->user_email , '90 '); ?>
    <p><strong>Website:</strong> <a href="<?php echo $curauth->user_url; ?>"><?php echo $curauth->user_url; ?></a><br />
    <strong>Bio:</strong> <?php echo $curauth->user_description; ?></p>
<h2>Posts by <?php echo $curauth->nickname; ?>:</h2>

		 <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link: <?php the_title(); ?>">
<?php the_title(); ?></a>
<p class="posted-on">Posted on: <?php the_time('d M Y'); ?></p>

<?php the_excerpt(); ?>

<?php endwhile; 

// Previous/next page navigation.

else: ?>
<p><?php _e('No posts by this author.'); ?></p>

<?php endif; ?>

This code simply adds an author profile card at the top of the page, and then displays recent posts by the author.

Feel free to customize this code as much as you need. You can add additional user profile fields to your website, add author’s Twitter and Facebook profile links, display featured images for posts, and so on.

Here is some sample CSS to give your author profile card a decent look. You can add it as custom CSS in your theme and then change it to match your theme colors.

.author-profile-card {
    background: #eee;
    border: 1px solid #ccc;
    padding: 20px;
    margin-bottom: 20px;
.author-photo {
    float: left;
    text-align: left;
    padding: 5px;

Here is how it looked on our demo website:

A custom author profile page in WordPress

We hope this article helped you learn how to add a custom author profile page to your WordPress site. You may also want to see our ultimate step by step WordPress SEO guide for beginners.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit – a collection of WordPress related products and resources that every professional should have!

Reader Interactions

22 CommentsLeave a Reply

    • If you are using the plugin then you would need to use their method for adding custom fields


  1. The username is showing in the author archive URL.

    How can I easily change it to display name or nickname for admin and all authors?

    • If you are using the method from this article then you should be able to update that under Settings > Permalinks


  2. I was hoping to make the author pages editable in the WordPress dashboard, is this possible?

    • Should we find a method we would recommend, we will look into updating this article.


      • I know this maybe isn’t something you can recommend…. but I used advanced custom fields to create a wysiwyg editor right in the edit user screen, then call that custom field in the customised author.php. Works pretty good.

  3. wpbeginner is top. Always comes up with the best solutions. When I see on serp wpbeginneer, I just click it

  4. Hello, I am trying to add the login page to the top of my website in the menu area but when I add it, it doesn’t show on the website, anyway I can fix this.

  5. Hi guys,

    I am really stuck with this. My author template is not working. As in, I am getting 404 error for the author archive page.

    I have no spaces in the author nice_name, i have deactivated all plugins to check for conflicts. I couldn’t find any solution to this. Can you help me out please?

  6. in wordpress job site how put each company description permanently ,i don’t want to add everytime each job descriptions and keywords

  7. On my website, there are writers who send through e-mail. If they don’t create any profile, how can I add their profile? Please..

  8. THank you for this tutorial. However I can’t seem to find an author.php or archive.php in my theme. I am using Customizr Pro. Any ideas would be greatly appreciated. I love the look in your demo image!

    • Hi William,

      If you don’t have an author.php file, then you can create one. If you don’t have archive.php, then you can copy the contents of index.php, category.php, or any other archive template in your theme. Please contact your theme’s support and they will be able to guide you better.


  9. i’m looking desperatly for a way to make child pages in author’s page..
    a menubar or tabs to display categories seperatly…
    thanks in advance

  10. Thanks for this article. I used Method 2.

    I would like to display the current author’s woocommerce products under their bio. Do you know how I can achieve this?


  11. Really helpful article specially for beginners like me. a video tutorial could be a great way to know more about it. but still it is enough to know how to setup custom author profile page.
    i always use to visit this site whenever i need to learn anything about WordPress.
    thanks a lot dear Syed Balkhi to create such an amazing wordpress resource site.

Leave a Reply to Benky Cancel reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.