最近All In One SEO Pack插件升级了一次,升级以后博客就有点不对劲的地方,嵌套评论回复按钮失效了。当时没有意识到这个问题,只是大概记得点击评论回复按钮时,不再像过去那样直接移动评论表单,而变成了刷新页面,然后跳转到文章最下面的评论表单。一张图胜过千言万语,看图。

评论出现给某人回复的字样

图片出现”给某某“回复的字样,话说之前没见过,更不知道有这个。当然这个不是新奇的东西,如果直接右键点击reply链接,在新窗口打开,就能看到这个效果。但这是不对的,最奇怪的是页面未加载完之前点回复链接,一切正常,表单会直接移动到要回复的评论的下面,但页面加载完再点,就变成刷新页面了。

刷新页面,好处是增加pv,坏处是用户体验很差,本来就用了国外主机,访问速度慢。之前睁一只眼闭一只眼,没把它当回事,但越用越不爽,只好开始排查问题。

排查问题的步骤

我属于实践派,理论知道的不多,我是这样检查问题的。

  1. 切换到默认主题,看是否表现一致。结果默认主题也有相同问题,于是排除了主题有问题的可能。
  2. 逐个禁用插件,看问题是否存在。 虽然我的博客功能不多,也大小装了20个插件,一个一个关可受不了。所以排除掉那些常用的有问题概率很低的插件,重点排查最近更新过的插件,最近更新过的有四个,先禁用了WP No External Link,问题依旧。继续禁用All In One SEO Pack,问题竟然没了。看来出问题的插件是All In One SEO Pack。但这是一款很有名的插件,我一没动过它的代码,二最近又升级了一下,升级之前是没有这个问题的。于是有了第三步。
  3. 看一看是不是All In One SEO Pack升级后的问题,于是全新安装WordPress,只开启我的主题和最新版All In One SEO插件,结果没问题。说明不是All In One SEO的bug,也不是我主题的问题。那么这个错误很可能是运行时错误,跟数据库有关,可能是网站长期运行过程中产生的错误,这种错误很难查出来。
  4. 尝试了用Clean Options插件清除了wp_options表中所有没用的记录,也没用。最后,抱着试一试的心态,将All In One SEO Pack的设置恢复到初始状态,该插件提供了载入默认设置的选项,发现载入默认设置后评论回复链接就没问题了。于是重新设置了All In One SEO插件,一切okay了。

网站和电脑不同,电脑出先解决不了的问题,我会直接格式化重装,来个转世再生,网站出问题了就不能这么简单的处理了,嗨,费神啊。