wordpress后台默认还是很流畅的。早上一个朋友说,网站后台太卡了。我登陆后台看下,网站的前台展示是没有问题,后台的所有操作几乎都需要等待5秒钟左右。终发现的问题是 add_filter('pre_site_transient_update_plugins' ...
导致的问题。这里把解决问题的思路记录一下。
一个小问题,处理的半个多小时,这里记录一下,解决的思路。
首先判断是不是js的原因
因为,网站首页没有问题,仅仅是后台有问题。就想是不是后台,加载的js代码,没有加载成功,导致页面渲染慢。 然后在浏览器的控制台看了下,没有资源加载失败的情况,看到的是,后台页面本身需要很长的时间才能展示。
wordpress后台文件,执行时间长的原因查找
刚开始以为是运行环境的问题,检查了下php和数据库没发现什么问题。刚好这台服务器上运行的有其他的wordpress程序。看了下,另一个wordpress后台,运行是比较快的。这就排除了运行环境的问题。
剩下只有wordpress本身的问题了
首先对比了一下,两个wordpress的版本,发现是一致的。那就剩下后一个问题了,模板或者插件的问题。当然版本不一致,也不代表有问题。wordpress程序本身,还是很值得信赖的。插件和模板就不好说了。
wordpres模板和插件的检查
首先在 模板文件中 functions.php
中,加入 return
, 直接结束。然后后台就正常了, 这就判断了是后台模板代码的问题。接下来就是找出出问题的代码了。这里就采用简单暴力的方法,遇到看到可疑的代码就,就在可疑代码前加入 return 。 观察执行。后发现了出问题件的代码。
add_filter('pre_site_transient_update_plugins', create_function('$a', "return null;"));
从过滤器的名字上看,应该是禁止更新插件。估计是在检查的过程中,需要给远程的服务器通信,应该是给远程服务器通信的原因导致的加载慢。可能网络不好,也可能是远程服务器有问题。注释掉这个代码,后台就正常了。
这个思路可以,不错
排除了 Google 字体后,上缓存可以解决很多问题。
试试看行不