How can i get the row counts in query post like mysql count(*).
$obj_name = new WP_Query($args); while ($obj_name->have_posts()) : $obj_name->the_post(); // here i want to predict looping counts endwhile;
How can i do this.
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It only takes a minute to sign up.Sign up to join this community
$num = $obj_name->post_count;
The accepted answer here is wrong which is also confirmed in my situation. Please, compare from the referenced page:
$post_count The number of posts being displayed.
$found_posts The total number of posts found matching the current query parameters
This way, $post_count will show, for example, number of posts per page if there are more than one page of results. Only if total number is less than number of results per page it will match total amount.
The correct method to get total results number is:
To get the total number of posts WP_Query returns use "found_posts"
Here is the example -
<?php $args = array( 'post_type' => 'post' ); $the_query = new WP_Query( $args ); $totalpost = $the_query->found_posts; ?>
Use your custom post type name in place of 'post', you can also pass the category id too ( 'cat' => 4,)