首页 > WP教程 > 正文

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

WordPress搜索结果排序

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

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

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

// SEARCH FILTER    
function csyor_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' , 'csyor_search_filter');      

记得保存更改。这段代码的作用已经很明了,当访问者通过搜索进入搜索结果页面时,会发现被浏览次数最多的日志排在了顶部。

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

以上内容来自于网络,如有侵权联系即删除。

猜你喜欢
发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论信息

Csyor回复2014-06-20 21:49

具体的实现因为Csyor没有做过,不清楚,但应该和这个差不多

君说回复2014-06-20 21:35

我想知道,怎么让文章列表按浏览次数排列呢 :grin: