默认情况下,typecho 首页输出的文章是按照创建时间的先后顺序进行排序输出的,如何按照文章的阅读量进行排序输出呢?
因为我之前的文章 粗略统计网站访客数量 中介绍了我的网站是如何粗略统计文章的阅读数量的,在content表中添加了viewsNum字段记录文章的浏览数。
具体如何操作呢?
找到以下文件
/var/Widget/Archive.php
搜索 仅输出文章,找到下面这行代码
$select->order('table.contents.created', Typecho_Db::SORT_DESC)
修改为:
$select->order('table.contents.views', Typecho_Db::SORT_DESC)
说明:views是之前手工添加过的,我在functions.php中增加了get_post_view()函数,当每个文章阅读时可自动生成并递增,原版typecho没此字段。即可——大功告成!