WordPress 技巧:显示后台的远程请求

WordPress 后台还是很慢,已经使用七牛镜像云存储 WordPress 插件屏蔽了 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;
}
标签:

热门文章