WordPress 技巧:显示后台的远程请求
WordPress 后台还是很慢,已经使用WPJAM Basic屏蔽了 Google 字体,并且也彻底关闭 WordPress 自动更新和后台更新检查,但是还是很慢,那 WordPress 是不是后台还有什么远程请求呢?
在当前主题的 functions.php
文件中添加下面的代码,然后在后台的任何地址后面加上 ?debug
或者 &debug
query string 即可打印出当前的远程请求:
add_filter('pre_http_request', 'wpjam_admin_display_http_request', 10, 3);
function wpjam_admin_display_http_request($status, $r, $url){
if(is_admin() && isset($_GET['debug'])){
echo 'http_request:'.$url."\n<br />";
return $status;
}
}
注意该代码只能检测使用 WP_Http 方式实现的远程请求,如果插件作者直接使用 cURL 来实现的远程请求则无法打印出来。
附加一个小技巧,让后台的远程请求快速完成,比如 1秒内必须完成:
add_filter('http_request_timeout', 'wpjam_admin_short_http_request_timeout');
function wpjam_admin_short_http_request_timeout($timeout){
if(is_admin()){
return 1;
}
return $timeout;
}