解决 WordPress 后台仪表盘慢问题 禁止检测浏览器与php版本更新
介绍
WordPress,进入后台,会在一定时间内,调用两个函数。这两个函数,都会访问WordPress服务器,而国内大部分都访问不通,所以会导致5秒超时,两个函数,至少造成10秒卡顿。两个函数,无法通过插件解决。所以,必须手动修改文件。
wp_check_php_version
判断用户是否需要更新PHP版本。(WordPress多管闲事),这个函数,有hook钩子,但是,但是!是否hook,都会先访问一遍。
代码位置:wp-admin/includes/misc.php
直接添加代码:return true;
这个函数的主要作用是
- 检查 PHP 版本:获取当前服务器的 PHP 版本。
- 请求 WordPress 官方 API:向
api.wordpress.org
发送请求,检查当前 PHP 版本是否被推荐或存在已知问题。 - 缓存结果:将 API 返回的结果缓存一周,避免频繁请求 API。
函数逻辑
-
获取 PHP 版本:
- 使用
PHP_VERSION
常量获取当前 PHP 版本。 - 使用
md5
对 PHP 版本进行哈希,生成一个唯一的缓存键。
- 使用
-
检查缓存:
- 使用
get_site_transient
检查缓存中是否已经存在该 PHP 版本的检查结果。 - 如果缓存存在,直接返回缓存的结果。
- 使用
-
向 WordPress API 发送请求:
- 如果缓存不存在,构建 API 请求 URL。
- 如果服务器支持 SSL,将 URL 转换为 HTTPS。
- 使用
add_query_arg
将当前 PHP 版本作为参数附加到 URL 中。 - 使用
wp_remote_get
发送 HTTP GET 请求。
-
处理 API 响应:
- 检查请求是否成功(HTTP 状态码为 200)。
- 如果请求失败,返回
false
。 - 解析 API 返回的 JSON 数据。
- 如果解析结果不是数组,返回
false
。
-
缓存结果:
- 将 API 返回的结果缓存一周,使用
set_site_transient
存储。
- 将 API 返回的结果缓存一周,使用
第二行加上return true;会直接将函数在开始执行时立即返回 true,而不会继续执行后续的代码。
wp_check_browser_version
这个函数 wp_check_browser_version 是 WordPress 中用于检查用户浏览器版本是否过时的函数。它会通过向 WordPress 官方 API 发送请求,获取浏览器版本的兼容性信息,并将结果缓存以提高性能。
实际上每次都会访问,会影响速度
代码位置:wp-admin/includes/dashboard.php
直接添加代码:return false;
函数的作用
- 检查浏览器版本:获取用户浏览器的信息(通过
HTTP_USER_AGENT
)。 - 请求 WordPress 官方 API:向
api.wordpress.org
发送请求,检查浏览器是否过时或存在兼容性问题。 - 缓存结果:将 API 返回的结果缓存,避免频繁请求 API。
函数逻辑
-
检查用户代理(User Agent):
- 如果
$_SERVER['HTTP_USER_AGENT']
为空,直接返回false
。因为无法获取浏览器信息,无法进行检查。
- 如果
-
生成缓存键:
- 使用
md5
对用户代理字符串进行哈希,生成一个唯一的缓存键。
- 使用
-
检查缓存:
- 使用
get_site_transient
检查缓存中是否已经存在该浏览器版本的检查结果。 - 如果缓存存在,直接返回缓存的结果。
- 使用
-
向 WordPress API 发送请求:
- 如果缓存不存在,构建 API 请求 URL 和参数。
- 如果服务器支持 SSL,将 URL 转换为 HTTPS。
- 使用
wp_remote_post
发送 HTTP POST 请求。
-
处理 API 响应:
- 检查请求是否成功(HTTP 状态码为 200)。
- 如果请求失败,返回
false
。
第二行加上return false;会将函数在开始执行时立即返回 false
,而不会继续执行后续的代码。
总结
以上两种修改会使得函数的功能完全失效,仅在特定场景(如调试或已知确认不需要这两个功能)下可能有意义。在实际使用中,应谨慎添加,避免破坏函数的正常逻辑。
1:文章:解决 WordPress 后台仪表盘慢问题 禁止检测浏览器与php版本更新
2:链接:https://www.panxp.com/601.html
3:文章内容来源于网络,仅供大家学习与交流,如下载了本站中的任何资源,请于24小时内删除,如有侵犯您的权益,请发送邮件至silverornament@qq.com,我们会在24小时内删除处理。
4 本站一切资源不代表本站立场,不代表本站赞同其观点和对其真实性负责。
5 如您发现本站提供资源链接失效或有违规现象,请联系我们处理。





如果本内容对您有帮助,欢迎给我打赏,支持创作
