Display Search Result Count

时间:2013-08-03 作者:Harish Chouhan

到目前为止,我一直在使用下面的代码来获取搜索结果的数量,并显示该计数。

<?php /* Search Count */ $allsearch =& new WP_Query("s=$s&showposts=-1"); $count = $allsearch->post_count; echo $count . \' \'; wp_reset_query(); ?>
但这似乎不是有效的代码。显示以下错误:

不推荐:不推荐通过引用分配new的返回值

请任何人建议我获取搜索计数的正确方法。以上代码放在我的索引标题中。条件语句中的主题php文件,根据用户所在的页面类型显示不同的标题。

2 个回复
最合适的回答,由SO网友:M-R 整理而成

如果您在搜索模板内,即搜索查询是您的主要查询。然后,您应该能够从global$wp_query 无需运行其他查询。

global $wp_query;
echo $wp_query->found_posts.\' results found.\';

Edit 1

如果您必须从搜索上下文中获取count。您可以将这两种技术结合起来以获得有效的结果。它不会获取所有帖子,但你可以获得搜索计数。

$allsearch = new WP_Query("s=$s&showposts=0"); 
echo $allsearch ->found_posts.\' results found.\';

Your Error

关于你得到的错误,它就在这里

$allsearch =& new WP_Query("s=$s&showposts=-1");
删除“&;”在等号旁边消除错误。所以看起来像这样

$allsearch = new WP_Query("s=$s&showposts=-1");

SO网友:Manoj Kumar

共享此信息可能也很有用,以便第一个标题通知用户找到了搜索结果,第二个标题通知用户找到了多少。如果少于2个结果,则应读取“找到1个结果”或“找到x个结果”。

    <h2 class="blog_archive_heading">Search Results for \'<?php the_search_query(); ?>\'</h2>
<h3 class="blog_archive_heading"><?php
  global $wp_query;
  if($wp_query->found_posts < 2) {
    $result = "result";
  } else {
    $result = "results";
  }
    echo $wp_query->found_posts . " " . $result . " found.";
    ?></h3>
此代码段出现在我的搜索中。可以说是php。

部分搜索结果。php只会输出与您的搜索相关的博客帖子,如果没有找到,则会输出“未找到结果”。

结束

相关推荐