如何获取查询中的行计数,例如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;


我该怎么做。

#1 楼

$num = $obj_name->post_count; 


参考:wp_query

评论


这实际上并不能回答问题-post_count将返回当前页面上显示的帖子总数。

–瑞安
20 Mar 6 '20 at 17:08

#2 楼

此处接受的答案是错误的,这在我的情况中也得到了确认。
请从引用的页面进行比较:

$ post_count显示的帖子数。
$ found_posts找到的与当前查询参数匹配的帖子总数

这样,例如,如果结果多于一页,则$ post_count将显示每页的帖子数。仅当总数小于每页的结果数时,它才会与总数匹配。
获取总结果数的正确方法是:
$obj_name->found_posts

评论


这应该是公认的答案

– Efbi
20-10-28在10:38

#3 楼

要获取WP_Query返回的帖子总数,请使用“ found_posts”

这里是示例-

        <?php 
           $args = array(
           'post_type' => 'post'
           );
        $the_query = new WP_Query( $args );
        $totalpost = $the_query->found_posts; 
        ?> 


在'post'的位置,您也可以传递类别ID('cat'=> 4,)