If you have access to user IDs, you can use the [count_user_posts()][1] function. You would get the number of posts by a user like this: //Assume the variable $thisUser is equal to a valid user ID $ThisUserCount = count_user_posts($thisUser, 'recipe'); EDIT: Where you're calling the count_user_posts() function, you're passing it the array $args instead of the post type, 'recipe'. <?php // 1. We define the arguments to define what we want to recover $args = array ( 'post_type' => 'recipe', 'posts_per_page' => '16', ); // 2. We run the WP Query // The Query $the_query = new WP_Query ($args); // 3. we display the number of messages and the authors! // The Loop if ($the_query-> have_posts()) { // THIS LINE WILL ECHO HOW MANY 'recipe' POSTS USER ID #2 HAS echo count_user_posts(2, 'recipe'); echo 'recipes for'; echo get_the_author(2, $args); echo '<br>'; // THIS LINE WILL ECHO HOW MANY 'recipe' POSTS USER ID #1 HAS echo count_user_posts(1, 'recipe'); echo 'recipes for'; echo get_the_author(1, $args); // 3. We launch the loop to display the articles and the authors! // The Loop echo '<ul>'; while ($the_query-> have_posts()) { $the_query-> the_post(); echo '<li>'. get_the_title(). '</li>'; echo '<li>'. get_the_author(). '</li>'; } echo '</ul>'; } else { // no posts found } wp_reset_postdata ();?> Also, your get_the_author(2,$args) function calls are not correct. get_the_author() does not accept any parameters anymore, and it only returns the Display Name of the author of the current post in the Loop. [1]: https://developer.wordpress.org/reference/functions/count_user_posts/