Php-返回结果数,但不能循环

时间:2013-01-28 作者:Iladarsda

我有以下搜索。php页面(这只是问题表示所需的代码)。

为什么我的$total_results 返回找到的许多帖子,但当我循环时,虽然它总是打印出来No posts found ?

<?php

$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
$query_args = explode("&", $query_string);
$search_query = array(\'posts_per_page\' => 10, \'paged\' => $paged);

foreach($query_args as $key => $string) {
     $query_split = explode("=", $string);
     $search_query[$query_split[0]] = urldecode($query_split[1]);
} 
$search = new WP_Query($search_query);
$total_results = $search->found_posts; // this returns 50

?>


<?php if ($search->have_posts()) : ?>
<?php while ($search->have_posts()) : $search->the_post(); ?>
    loop  through posts
<?php else : ?>
     No posts found.
<?php endif; ?>
非常感谢您的任何建议。

1 个回复
SO网友:Mark Kaplun

WP_Query::found_posts 包含查询的匹配数,不考虑限制和偏移量。limit是存档页中可以显示的最大帖子数,偏移量取决于paged 参数,通常为($paged - 1) * $limit.

因此,您得到的是如果您要求获得all 符合搜索条件的帖子。

如果您需要知道特定查询的结果数量,包括限制和偏移量,您可以简单地这样做$search->post_count.

结束

相关推荐

Filter and Search

我正在我的网站上工作,这是一个基于WordPress的网站。这是一个winprizesonline的抽奖网站。com是我最受启发的网站。现在,我想在我的网站上进行类似该网站的动态搜索,但我不知道如何以及在何处添加代码。就像这里;http://www.winprizesonline.com/new/contests/ 您可以看到3个搜索框,排序方式:,条目:,下一条:我想要相同的搜索框,具有相同的过滤和搜索功能。任何人都知道它的代码,可以告诉我在我的网站上放在哪里。我正在为我的网站使用DirectoryPr