WordPress搜索结果按浏览量排序的实现方法

时间:2021-05-02

默认情况下,WordPress 存档页面或搜索结果页面中的日志排列次序是按照从新到旧来排列的,这里我们暂且不管存档页面情况如何,先来说说这个搜索结果页面。如果我们想要搜索结果的日志按照浏览次数的多少来排列,也就是说,被浏览次数较多的日志排在前面,反之,被浏览次数较少的日志则排在后面,如何实现?方法很简单!

第一步,先安装 Lester Chan 的一个插件WP-postviews。

关于这款插件,相信大家都不会陌生的了,它的这主要作用就是用来统计日志被浏览的次数的,这方面在这里就不再多说。好了,去到 WordPress 后台搜索 WP-previews 插件,安装并启用。

第二步,打开当前主题文件夹中的 functions.php 文件,添加以下代码,位于最后一个?>之前(如果?>存在的话)。

  • //SEARCHFILTER
  • functionbase6_search_filter($query)
  • {
  • if($query->is_search)
  • {
  • $query->set('v_sortby','views');
  • $query->set('v_orderby','desc');
  • add_filter('posts_fields','views_fields');
  • add_filter('posts_join','views_join');
  • add_filter('posts_where','views_where');
  • add_filter('posts_orderby','views_orderby');
  • }
  • }
  • add_filter('pre_get_posts','base6_search_filter');
  • 记得保存更改。这段代码的作用已经很明了,当访问者通过搜索进入搜索结果页面时,会发现被浏览次数最多的日志排在了顶部。

    提示:如果你是刚刚安装了 WP-postviews 这款插件就做以上修改的话,效果可能要过一阵才能看到。

    声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

    相关文章