Как получить количество записей из запроса постов в WordPress

20 июл. 2011 г., 16:36:43
Просмотры: 107K
Голосов: 27

Как я могу получить количество строк в запросе постов аналогично mysql count(*).

$obj_name = new WP_Query($args);

while ($obj_name->have_posts()) : $obj_name->the_post(); 

// здесь я хочу получить количество итераций цикла

endwhile;

Как мне это сделать.

0
Все ответы на вопрос 3
1
57

Принятый ответ здесь неверен, что также подтверждается в моей ситуации. Пожалуйста, сравните с указанной страницы:

$post_count Количество отображаемых записей.

$found_posts Общее количество записей, соответствующих текущим параметрам запроса

Таким образом, $post_count покажет, например, количество записей на странице, если результатов больше, чем помещается на одной странице. Только если общее количество меньше, чем число результатов на странице, оно совпадёт с общим количеством.

Правильный способ получить общее количество результатов:

$obj_name->found_posts.

21 апр. 2017 г. 22:28:03
Комментарии

Это должен быть принятый ответ

Jean R. Jean R.
28 окт. 2020 г. 12:38:06
1
24
$num = $obj_name->post_count; // Получаем количество постов

Ссылка: wp_query

20 июл. 2011 г. 16:41:42
Комментарии

Это фактически не отвечает на вопрос - post_count возвращает общее количество записей, отображаемых на текущей странице.

Ryan Ryan
6 мар. 2020 г. 19:08:37
1
13

Чтобы получить общее количество постов, возвращаемых 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,)

21 мая 2019 г. 12:01:22
Комментарии

Будьте осторожны, если используете posts_per_page в вашем запросе - это вернет общее количество записей независимо от размера страницы

Boltgolt Boltgolt
7 сент. 2021 г. 17:52:18