I’m trying to get a count of the current posts inside of a loop. I’m using multiple loops on one page in my theme. So far I have:
$my_post_count = $wp_query->post_count;
But when I print $my_post_count, it returns the number all of the posts on my WP site. Could it have something to do with using multiple queries on one page? I tried using wp_reset_query after every loop to make sure I wasn’t throwing things off that way. What am I doing wrong?
$wp_query
hold main loop of page and should not be used to create multiple loops.
If you are using new WP_Query
object then your variable that holds it will have according count:
$my_query = new WP_Query();
// stuff
$count = $my_query->post_count;
If you are using get_posts()
then WP_Query
object is not accessible and you should just count returned set:
$posts = get_posts();
$count = count($posts);