Using WordPress ‘get_the_author_posts()’ PHP function

The get_the_author_posts() WordPress PHP function retrieves the number of posts by the author of the current post.


$author_post_count = get_the_author_posts();

Output: 4250 (assuming the author has published 4,250 posts)



More information

See WordPress Developer Resources: get_the_author_posts()


Display author’s name and post count

Display the author’s name and number of posts in a paragraph.

  <?php the_author(); ?> has blogged <?php echo number_format_i18n( get_the_author_posts() ); ?> posts

Output: “Harriett Smith has blogged 4,250 posts.”

Show post count in author bio

Display the author’s bio along with their number of posts.

<div class="author-bio">
  <p><?php echo get_the_author_meta('description'); ?></p>
  <p>Published <?php echo get_the_author_posts(); ?> posts</p>

Customize author’s post count message

Customize the message displayed based on the number of posts.

$author_posts = get_the_author_posts();
if ($author_posts > 1000) {
  echo "Wow! " . the_author() . " has written over 1,000 posts!";
} else {
  echo the_author() . " has written " . $author_posts . " posts.";

Display author’s post count in a table

Show the author’s post count in an HTML table.

    <th>Number of Posts</th>
    <td><?php the_author(); ?></td>
    <td><?php echo get_the_author_posts(); ?></td>

Compare post counts of two authors

Compare the post counts of two authors and display a message.

$author1_post_count = get_the_author_posts(); // Assuming inside author1's loop
$author2_post_count = get_the_author_posts(); // Assuming inside author2's loop

if ($author1_post_count > $author2_post_count) {
  echo "Author 1 has written more posts than Author 2.";
} elseif ($author1_post_count < $author2_post_count) {
  echo "Author 2 has written more posts than Author 1.";
} else {
  echo "Both authors have written the same number of posts.";