Custom WordPress Author Page: Templates & Pagination

1/5 - (3 votes)

To customize a WordPress author page, first check your theme type. With a block theme, use Appearance → Editor → Templates → Author Archives when that template option is available. With a classic theme, create an author.php template in a child theme. These are two different systems: uploading a PHP file will not customize a modern block theme’s author.html layout.

Choose your route
  • Block theme: edit the Author Archives template with blocks; keep the Query Loop set to inherit the archive query.
  • Classic theme: copy archive.php into your child theme as author.php, then add author details while preserving the post loop and pagination.
  • Only want a bio under posts? You may not need a custom archive: start with the existing Post Author block or your theme’s author-box settings.

See WordPress’s template editor guide Check the official template hierarchy

What is an author archive?

WordPress generates an archive for each author. The page normally includes the author’s posts and may also show their name, image or biography, depending on the theme. Its URL commonly resembles /author/username/, although site permalink configuration can vary. A useful author archive helps readers understand who wrote the content and explore their related work; it is not automatically a standalone landing page or proof of expertise.

Before changing templates, edit the author’s display name, biography and website under Users → Profile (or edit the relevant user as an administrator). Avoid publishing private account information or an email address without the author’s consent.

Method 1: create a custom author template with a block theme

  1. Confirm your site uses a block theme and open Appearance → Editor → Templates.
  2. Open the existing Author template, if one is listed, or choose Add Template → Author Archives if offered by your editor.
  3. Add a heading or archive title, an author biography section, and a Query Loop with post titles, excerpts and optional featured images.
  4. In the Query Loop settings, keep Inherit query from template enabled. A new, independent query can show the wrong author’s posts or every post on the site.
  5. Add pagination or the Query Pagination blocks if you have more articles than fit on one page. Preview at least two different author URLs before saving.

WordPress’s Template Editor documentation explicitly includes Author Archives among the available template types. The Query Loop guide explains how to edit the repeated post layout. For author identity, use the supported author-related blocks in the context your theme exposes; a Post Author block inside a post loop refers to that loop’s post author, which may not be the best placement for a single archive-wide bio.

Important: Site Editor template changes affect every archive using that template. If you only need one contributor’s custom design, create a more specific author template where supported or work with a child-theme block template. WordPress resolves author-{user_nicename}.html and author-{user_id}.html before the general author.html.

Method 2: create author.php in a classic child theme

A classic WordPress theme uses PHP templates. Do not edit its parent theme directly: your changes may disappear when that theme updates. Back up the site, use a child theme and make the change on a staging copy first.

  1. Open the active child theme directory through SFTP or another secure file-editing workflow.
  2. If the theme already has author.php, copy it into the child theme as your starting point. Otherwise, copy the parent theme’s archive.php into the child theme and rename that copy author.php.
  3. Preserve existing calls to the header and footer, the main post loop, the theme’s template parts and pagination.
  4. Use WordPress’s queried author object to retrieve the author details, then output the fields with the appropriate escaping functions.
  5. Visit at least two author archives and a no-post author archive (if publicly accessible) to check names, links, empty states and pagination.

Get the author being viewed

<?php
$author = get_queried_object();
?>

On an author archive, get_queried_object() supplies the queried author object. Check that it is valid before trying to access fields. Don’t rely on get_the_author_meta() without an explicit user ID outside the post loop; it can refer to an unintended global post context.

Display the author name and biography

<?php if ( $author instanceof WP_User ) : ?>
  <h1><?php echo esc_html( $author->display_name ); ?></h1>
  <?php
    $bio = get_the_author_meta( 'description', $author->ID );
    if ( $bio ) {
        echo wp_kses_post( wpautop( $bio ) );
    }
  ?>
<?php endif; ?>

This belongs inside your child theme’s PHP template, not in a WordPress Custom HTML block. An external author website can be rendered with esc_url() for the link destination and esc_html() for the visible text.

Keep the author’s post loop and pagination

<?php if ( have_posts() ) : ?>
  <ul class="author-posts">
    <?php while ( have_posts() ) : the_post(); ?>
      <li><a href="<?php echo esc_url( get_permalink() ); ?>">
        <?php echo esc_html( get_the_title() ); ?>
      </a></li>
    <?php endwhile; ?>
  </ul>
  <?php the_posts_pagination(); ?>
<?php else : ?>
  <p>No published posts are available for this author.</p>
<?php endif; ?>

Keep the surrounding HTML and template-part structure that your particular theme uses. The default author query already limits the main loop to the requested author; replacing it with a generic WP_Query can accidentally show the wrong articles or break pagination.

Read the classic author-template documentation

How WordPress chooses an author template

PriorityClassic themeBlock theme
Specific author by slugauthor-{nicename}.phpauthor-{nicename}.html
Specific author by IDauthor-{id}.phpauthor-{id}.html
All authorsauthor.phpauthor.html
Fallbackarchive.php, then index.phparchive.html, then index.html

User-created block templates saved in WordPress can override equivalent files in the theme, so changes to author.html may appear to have no effect if a Site Editor override already exists. Check the editor’s template customization controls before changing theme files.

Do you need an author page plugin?

Usually not for a standard name, biography and archive. A plugin may be worthwhile when you need multiple custom profile fields, front-end author submissions or a full contributor directory. For the simpler task of displaying contributors across a magazine, see WPNeon’s multi-author plugin comparison and confirm that any suggested product supports your actual theme and publishing process.

Author-page checks for readers and search engines

  • Identity: make the display name and substantive, accurate biography easy to find.
  • Navigation: include links to the author’s published work and, when appropriate, profile or relevant credentials.
  • No duplicate pages: don’t create an unrelated static page with the same purpose unless you deliberately handle archive links and indexing.
  • Accessibility: use a real heading, descriptive links and alternative text for meaningful images.
  • Accuracy: do not invent author credentials or add misleading schema fields merely to chase rich results.
Finish the template safely

Use the official documentation for your theme type, make changes on staging and test each author archive before deploying.

Block theme: Author Archives Classic theme: author.php

WordPress author-page pagination: a simple verification test

Each page of an author archive should continue that author’s posts, not switch to the whole site’s feed. Add enough sample posts on staging to require a second archive page, then test the next and previous links while logged out.

With a block theme, use the archive’s default or inherited query and keep pagination inside its Query Loop. With a classic template, preserve the main WordPress query unless you deliberately manage a custom query and its pagination.

Check the profile name, biography, post titles and page-two URL for two different authors. Link a writer’s name to the relevant archive and avoid publishing placeholder credentials or unsupported expertise claims.

See the official Query Loop documentation for its pagination and query controls.

Custom author page FAQ

Why does author.php not work with my theme?

Block themes use block templates such as author.html and Site Editor customizations. A PHP template in a block theme is not the equivalent route.

Why does my custom author page show posts by everyone?

For block themes, check whether Query Loop inherits the archive query. For classic themes, preserve the main author-archive loop and avoid an unfiltered custom query.

Can I create different designs for individual authors?

Yes. WordPress supports author-specific templates by user nicename or ID, with the appropriate .php or .html extension for the theme type.

Will an author page improve rankings automatically?

No. It can make identity and related articles clearer to people and crawlers, but its value depends on accurate information, relevant content and a working site structure.