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 Cain

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

    • Ludou

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

  3. 网赚笔记 网赚笔记

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

  4. airoschou airoschou

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

    • Ludou

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

  5. 刘荣焕 刘荣焕

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

  6. SJY SJY

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

  7. 斌果 斌果

    第二种方法不错

  8. 简士哲 简士哲

    博主厉害!赞一个!

  9. awnuxkjy awnuxkjy

    这个功能不错,我需要。

  10. hermoine

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

    • Ludou

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

      • hermoine

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

  11. 刘荣焕 刘荣焕

    受教了

  12. hiv hiv

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

发表留言