群里一位小伙伴表示他的wp博客里出现了一个名为匿名的空评论,并且怎么都删不掉。
百度了下相关内容,在这里记录下。
这主要是由两种原因引起的:
一、评论提交超时:
在提交评论非常缓慢时最容易出现“匿名”现象,这种情况主要是由于评论提交时执行时间过长引起的,可能是装了比较耗时的插件(比如Akismet等);很多博客,加入了Gravatar头像检查,本来是为了防止垃圾评论,但由于Gravatar头像服务器在国外,国内的网络环境复杂,很容易导致超时;我们还可以对使用的代码进行优化,比如精简“钩子”的数量,减少评论提交时检验的项。
二、代码编写错误:
这种情况很严重,每次评论都会显示“匿名”,而且你会发现那条评论没法删除,在后台评论列表那里连前面的勾选框都没有。这是因为提交的信息不完整导致的,举个例子:
function abc($comment){ ...... return $comment; } add_action('preprocess_comment','abc');
在执行preprocess_comment这个钩子时,如果不抛出错误信息,就必须用return返回值,否则就会导致评论提交信息不完整,不仅会显示“匿名”,而且正常手段都没法删除。
三、解决方法
使用wordpress清理插件比如“WP-Optimize”或者“WP Clean Up”可以删掉这个评论