<?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 sitmet,consectetuer adipiscing elit,sed diam
虚构的nibh euismod Tincidunt ut Laoreet dolore magna aliquam erat
volutpat。 Ut wisi enim 1
有任何建议解决此问题吗?
#1 楼
获取帖子总数的正确方法是:<?php $count = $custom_posts->found_posts; ?>
http://codex.wordpress.org/Class_Reference/WP_Query#Properties
编辑:确认@Kresimir Pendic的回答可能正确。
post_count
是该特定页面的帖子计数,而found_posts
是所有满足查询要求且无分页的可用帖子的计数。谢谢您的指正。#2 楼
Manny链接了正确的文档页面,但post_count
错误。要获取
WP_Query
返回的帖子总数,请使用“ found_posts” <?php
// The Query
$query = new WP_Query( $args );
$total = $query->found_posts;
评论
这个应该是公认的答案。
–克里斯汀·库珀♦
18年2月6日在15:49
这绝对是正确的答案。
– Infinity Media
18 Mar 12 '18 at 14:13
我也确认这是正确的答案。这应该被接受。
–我是最愚蠢的人
19年6月21日在6:43
我可以确认这一答案确实是正确的。如重新确认
–比桑德
1月30日11:01
在确认最近确认的确认时,我确定原始确认确实已确认,之后的确认也是如此。
– 38365
8月18日20:53
#3 楼
或这样:$query = new WP_Query( $args );
$count = $query->post_count;
评论
谢谢!嘿,最后一个问题。我如何使用该数字来制作if语句,该语句不在该循环中(在循环之前)。因为似乎数字仅在我将变量放在该循环后才显示。
– janoChen
11年8月28日在14:02
您可以将$ count = $ custom_posts-> post_count放在$ custom_posts-> query()之后。请注意,$ custom_posts-> post_count仅会为您提供结果集的该“页面”中的结果数。如果需要获取“整个”结果集中的结果总数,请使用$ custom_posts-> found_posts。
–罗伯特·杜金
16年7月29日在0:34
在大多数情况下,此答案很可能不正确。使用found_posts(所有找到的帖子)而不是post_count(此页面上显示的帖子数)。从逻辑上来讲,此评论是多余的,但从社交角度而言,则并非如此。
– Herbert Van-Vliet
17年12月23日在11:43
这个答案是不正确的。 $ custom_posts-> post_count将返回此页面上显示的帖子数量,因此它将显示查询的posts_per_page值,或者如果要显示的剩余数量较少,则显示较低的值。正确的答案应该是<@ kresimir-pendic>的答案,该答案使用$ custom_posts-> found_posts
– Infinity Media
18-3-12在14:13