提醒:本文最后更新于 2856 天前,文中所描述的信息可能已发生改变,请仔细核实。
说实在的,一直想自己搞个评论系统。但因为时间关系,暂时先整出个管理系统来。
至于做这个轮子的原因,是因为Wordpress不知哪个版本开始,访问评论管理页面很慢,浏览器渲染完差不多7秒多。
访问慢的当时,已有1w+条评论(现在近2W)。我在Wordpress官方提交了issue,但一直无回复,后来我再评论一次,直接触发了规则被锁帖了。原因是无管理员回复,就继续评论,视为催促之类的,关闭之。
当时心里真是爆粗了,所以就萌生了自己做个评论系统。
但因为各种原因和懒癌发作,如今只完成了防机器人评论系统和本帖的评论信息管理系统。
说是系统其实只是装逼,但是确实快了很多。特别是MySQL在我精心调校下,速度特别快。
比起7秒+渲染,全AJAX评论管理系统,每次请求只要小于1秒的时间响应,带来非常快的体验。而且基本功能也都有,比如回复评论、编辑评论、删除评论、审核评论等。其中搜索能力及反应也很给力。
再来回顾下原生的Wordpress评论管理系统,在没有Object Cache的加成下,单页20条评论,需要40个查询,历时近4秒。
使用Memcached后,需要12个查询,历时近5.5秒。使用Memcached更慢的原因,在于非pipe,且一次有近30个查询。
为什么这个页面,查询这么多呢?
经过Debug后,其中有12个是正常查询;20个是对每条显示的评论做一次请求并缓存。还有8个,其中3条是对评论meta进行请求并缓存,id多会分成多条请求,我1w8+的评论分为3条请求;剩下5条是因为这20条评论涉及到5篇文章或页面,对post进行的请求并缓存。
我并不反对缓存,相反,热爱追求速度。但不要对没使用Object Cache的用户这么不友好,居然没有使用也要请求。而且因为没有使用Object Cache导致每次都要重新请求,我勒了个去,资源浪费啊。
使用Memcached,虽然在我这的执行时间变久了,但节省了查询,不用每次查一堆。而且对一些未优化过服务器,可能MySQL的效率并不会比Memcached快。加上我这个主题大量依赖Object Cache,所以,还是需要Memcached。
主题和后台每个页面都是秒开,就原生评论管理页面要7秒多,实在难以忍受。遂利用周末时间,搞定这个全新评论管理系统,秒开的感觉真好。
插件下载地址可在Github的Release中获得,Wordpress官方插件地址传送门。当然,也可以在Wordpress后台,插件中搜索WordPress Comments Manager
进行安装、启用。
当然,也可以在本页直接下载。
更新历史:
2017-02-26发布1.6版本:
1.新增一个栏目,显示那些管理员尚未回复的评论
2.新增实验性功能,可以让公众搜索评论2017-02-11发布1.5.1版本:
修复Bug2017-01-22发布1.5版本:
1.优化查询
2.修复一些Bug2017-01-21发布1.4版本:
1.双击某一行,显示评论内容和回复文本框
2.编辑评论和回复评论,可以使用Ctrl+Enter快速发布
3.代码规范化,上线Wordpress插件2017-01-19发布1.3版本:
1.添加回复指定评论功能
2.审核POST到后台的数据2017-01-18发布1.2版本:
1.代码规范化、兼容化,使用内置JQuery
2.逻辑上阻止XSS注入可能,请求权限检测2017-01-16发布1.1版本:
1.给Site列添加超链接
2.双击某一行,完整显示评论内容2017-01-12发布1.0版本:
第一次公开发行版本
转载请注明转自:kn007的个人博客的《全新WordPress评论管理系统》