Подсчет записей в пользовательском цикле WordPress (WP_Query)?
Я попробовал разместить это:
<?php $count = count($custom_posts); ?>
<h2><?php echo $count; ?></h2>
в конце цикла:
<?php if ( bbp_get_forum_title() == 'Test Forum 1' ) : ?>
<?php $custom_posts = new WP_Query(); ?>
<?php $custom_posts->query('post_type=blocks&location=Business and Finance&order=DESC'); ?>
<?php while ($custom_posts->have_posts()) : $custom_posts->the_post(); ?>
<div class="ad">
<?php the_content(); ?>
</div>
<?php $count = count($custom_posts); ?>
<h2><?php echo $count; ?></h2>
<?php endwhile; ?>
<?php endif; ?>
Но вместо общего количества записей я получаю такой вывод:
Перевод 1
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim 1
Есть предложения как это исправить?

Правильный способ получения общего количества записей:
<?php $count = $custom_posts->found_posts; ?>
http://codex.wordpress.org/Class_Reference/WP_Query#Properties
Редактирование: признавая ответ @Kresimir Pendic как вероятно правильный. post_count
- это количество записей для конкретной страницы, в то время как found_posts
- это количество всех доступных записей, которые соответствуют требованиям запроса без учета пагинации. Спасибо за исправление.

Спасибо! Эй, последний вопрос. Как я могу использовать это число для создания условного оператора if, который находится вне этого цикла (перед циклом)? Потому что похоже, что число отображается только когда я размещаю переменную после этого цикла.

Вы можете поместить $count = $custom_posts->post_count сразу после $custom_posts->query(). Обратите внимание, что $custom_posts->post_count даёт вам только количество результатов на этой 'странице' набора результатов. Если вам нужно получить общее количество результатов во 'всём' наборе результатов, используйте $custom_posts->found_posts.

Этот ответ, скорее всего, не является правильным для большинства ситуаций. Используйте found_posts (все найденные записи) вместо post_count (количество записей для отображения на этой странице). Этот комментарий логически избыточен, но не с социальной точки зрения.

Этот ответ неверный. $custom_posts->post_count
вернет количество записей, показанных на этой странице, поэтому он отобразит либо значение posts_per_page
запроса, либо меньшее значение, если оставшееся количество для показа меньше.
правильным ответом должен быть ответ <@kresimir-pendic>
, который использует $custom_posts->found_posts

Manny указал правильную страницу документации, но post_count
неверный.
Чтобы получить общее количество записей, которые возвращает WP_Query
, используйте "found_posts"
<?php
// Выполняем запрос
$query = new WP_Query( $args );
$total = $query->found_posts;

Я также подтверждаю, что это правильный ответ. Он должен быть принят.

Я могу подтвердить подтверждение того, что этот ответ действительно верен. Как и повторное подтверждение

Подтверждая подтверждение самого последнего подтверждения, я определил, что первоначальное подтверждение действительно подтверждено, как и подтверждение после него.
