Building the category.php I'm curious to know if there is a better way to get the count of posts without wp_query? In the past I've called:

and to build a separator after each post but not the last on the page or last in get_option('posts_per_page') I've used:

$category = get_queried_object();
$category_total = $category->count;

From research I did see How to get Total Post In a Selected category which was authored in 2011. wp_count_posts() counts all posts in a blog which I dont think would be good on performance.

$category = get_category($id);
$count = $category->category_count;

From Count how many posts in category I think requires wp_query? Is there a better way to get the count of posts in a category for category.php?

  • What count do you actually need? The total number of posts in a category, or the number of posts on the current page? Dec 18, 2018 at 3:38
  • both actually to render current design which is why I'm also pulling 'posts_per_page'.
    – user9447
    Dec 18, 2018 at 3:39

1 Answer 1


What you've got is basically correct. This is the correct method for getting the total number of posts in the currnet category:

$category = get_queried_object();
$category_total = $category->count;

There shouldn't be any performance impact from using this, as the count property is only updated when new posts are published, and doesn't need to be calculated each time it's used.

To get the number of posts on the current page though, get_option( 'posts_per_page' ) is not the best option, because it will be the incorrect number on the last page, which could have less than the total number of posts per page.

To get that number you need to check the global $wp_query object:

global $wp_query;
$post_count = $wp_query->post_count;
  • but global $wp_query; $post_count = $wp_query->post_count; renders what's left in the category and I need to get what was set in settings and I've only been able to do that with get_option('posts_per_page')
    – user9447
    Jan 4, 2019 at 15:32
  • And that's how you get it. What's wrong with that? Jan 4, 2019 at 15:46
  • think I might be over analyzing it again. I was looking to see if there was another way to measure between what was set in backend and how many posts show for cat.
    – user9447
    Jan 4, 2019 at 15:53
  • I don't understand what you're asking for, or what you're trying to do. There's 3 numbers: The total count of the posts in the category; the number of posts on the current page; and the setting for the number of posts to show per-page. What else do you need? Jan 4, 2019 at 15:59
  • Sorry, working without coffee should be illegal because my brain wasn't functioning.
    – user9447
    Jan 4, 2019 at 16:14

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.