WordPress搜索页如何显示搜到的文章数量

日期: 标签:WordPress教程
如需帮忙改代码,或者WordPress二次开发、PHP网站建设等需求,可联系我购买付费服务:  点此联系我

     在搜索结果页面显示搜到的文章数量,能给访客一个更好的搜索体验。在WordPress中,很多教程介绍的都是下面这种比较搓方法,在主题目录下的search.php的适当位置添加以下代码:

<h2 class="pagetitle">搜索关键字:
  <?php
  /* Search Count */ 
  $allsearch = &new WP_Query("s=$s&showposts=-1");
  $key = wp_specialchars($s, 1);
  $count = $allsearch->post_count;
  echo '<span class="search-terms">' . $key . '</span>';
  echo '<br />搜索到 ' . $count . ' 条结果';
  wp_reset_query(); ?>
</h2>

     这种方法的原理是重新建立一次数据库读取操作,然后计算读取到的结果数。这种方法既要写一段长长的复杂的代码,又多出一次数据库操作,耗费资源又浪费时间。而且如果你指定了搜索某个分类,那么上面的代码统计就会出现错误,还需要重新修改。

     我们可以用一种更简短的代码来获取搜索结果的文章数量,统计效果更加准确,不需要做太多的条件分享,在search.php的适当位置添加以下代码即可:

<?php
  global $wp_query;
  echo '搜到 ' . $wp_query->found_posts . ' 篇文章';
?>

     这个代码更加简短,而且使用的是WordPress的原先建立的wp_query对象的值,省时省力!

-- 完 --

本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:
原文出处:露兜即刻 https://www.ludou.org/wordpress-search-result-count.html
露兜
kaapass@outlook.com  QQ 825533758

业余编程爱好者。

16 条留言

点此留言
  1. 潜行者m

    WordPress 真心强大,某个功能都可以有多种方式来实现。

  2. Cain

    请问WP能不能用某个函数让搜索变和更准确一点?优先显示标题中含有搜索词的文章; 前段时间看了一个看函数但实际操作起来并没有变化

    • Ludou

      @Cain 我目前知道的方法只有你看过的那篇文章,并且代码有效。

  3. 网赚笔记

    露兜的博客总是给人惊喜,真的非常仰慕你啊

  4. airoschou

    目前用的是google搜索,内置的被我废弃了

    • Ludou

      @airoschou 目前用的是内置的,google搜索被我废弃了

  5. 刘荣焕

    楼主写一套系统的自定义字段的教程吧 前面的都看过了 比如自定义的选择 上传图片等功能
    还有就是自定义文章类型 自定义文章类型的url rewrite规则 都想学习

  6. SJY

    说的太好了,要的就是这个

  7. 斌果

    第二种方法不错

  8. 简士哲

    博主厉害!赞一个!

  9. awnuxkjy

    这个功能不错,我需要。

  10. hermoine

    这段代码显示的是搜索关键字出现的总次数,而不是文章数,请知晓

    • Ludou

      @hermoine 上面有两段代码,不知道你说的是哪段?如果是第2段代码,我也不清楚搜索关键字出现的总次数是什么意思,出现在哪里?标题、内容、摘要、自定义字段还是都有。一个小小的测试演示:http://ludou.qiniudn.com/blog/wp-content/uploads/2014/05/2154.swf

      • hermoine

        @Ludou 是我的问题>_<当我没说啊!

  11. 刘荣焕

    受教了

  12. hiv

    好久没来了。过来看看露兜

发表留言