计算自定义WordPress循环(WP_QUERY)的帖子数?

时间:2011-08-28 作者:janoChen

我试着放了这个:

    <?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,concetetuer adipising elit,sed diam nonumm nibh euismod tincidunt ut laoreet dolore magna aliquam erat volipat。Ut wisi enim 1

有什么建议可以解决这个问题吗?

3 个回复
最合适的回答,由SO网友:Manny Fleurmond 整理而成

获取帖子总数的正确方法是:

<?php $count = $custom_posts->found_posts; ?>

http://codex.wordpress.org/Class_Reference/WP_Query#Properties

编辑:承认@Kresimir Pendic的答案可能是正确的。post_count 是该特定页面的帖子数,而found_posts 是满足查询要求且不分页的所有可用帖子的计数。感谢您的更正。

SO网友:Kresimir Pendic

Manny链接了正确的文档页面,但post_count 是错误的。获取帖子总数WP_Query 返回使用“found\\u posts”

<?php

// The Query
$query = new WP_Query( $args );
$total = $query->found_posts;

SO网友:Fred K

Or this:

$query = new WP_Query( $args );
$count = $query->post_count;
结束

相关推荐

如何使用WPEC 3.8回显loop-page.php上的标记描述

我正在尝试在标记的页面上显示“标记描述”。我在循环页面中添加了一个if语句。php已经无法在显示标记页面时仅显示自定义文本。。。<?php } elseif ( is_tax ( \'product_tag\' ) ){ ?><h1 class=\"entry-title\"><?php the_title(); ?> print out this text on page</h1> 。。。但我不知道输出标记描述的代码。有人知道显示标签描述的代码吗