当前位置: 首页>>技术教程>>正文


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

webfans 技术教程 , 去评论

问题描述

我尝试过这个:

    <?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; ?>

但是我得到了这个输出,而不是帖子的总数:

Translation 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->post_count; ?>

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

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

次佳解决方法

Manny链接了正确的文档页面,但post_count错误。要获得WP_Query返回的帖子总数,请使用”found_posts”

<?php

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

参考资料

本文由朵颐IT整理自网络, 文章地址: https://duoyit.com/article/3010.html,转载请务必附带本地址声明。