因为本站使用了 typecho VOID 主题和配套插件,插件功能里包含了统计 UV 的功能,所以不用再去额外的安装 viewCount 之类的插件。浏览数统计了,前端也展示了,但在后台的文章列表和页面列表上看不到这项数据。

可能是因为后台文章和独立页面涉及到的文件属于 typecho 后台的核心页面,所以插件也不好修改这两块的展示。之前自己也想去数据库里找到这个字段,然后自己修改来着,但因为对 typecho 框架不熟悉,所以自己改一直是个想法。今天闲来找一些实用的插件时,顺便就找到了一篇修改教程:在 typecho 后台添加文章、页面阅读统计功能 - childsay

教程前面部分增加数据库文章表的阅读字段并添加统计阅读数量的函数。后面部分是我关心的修改后台部分的内容。主要以下修改三个文件:

  • var/Widget/Abstract/Contents.php
  • admin/manage-pages.php
  • admin/manage-posts.php

第一个大概是在取模型数据时,添加上这个字段。257 行加入 , 'table.contents.view_count'

修改模型数据
修改模型数据

第二个修改 独立页面 页面部分,对已有 table 部分添加一列 阅读

修改独立页面
修改独立页面

第三个修改 文章 页面部分,对已有 table 部分添加一列 阅读

修改文章
修改文章

注意:

  1. 独立页面调用的对象是 $pages ,而文章调用的对象是 $posts 。
  2. 插件添加 阅读 字段可能并不是 view_count , 比如我使用的 VOID 配套插件里对应字段为 viewsNum ,所以修改时要根据自己情况修改字段名。
  3. 注意没有文章情况下(在下面的 else 判断逻辑里),提示信息的 colspan 要 +1,因为多了一列。