WordPress页面html源代码压缩优化,可以加快WordPress的打开速度,不过压缩后使得某些效果无法正常显示,某些插件也可以实现如“WP-HTML-Compression”,本着能不用插件就尽量不用插件,我们还是推挤代码方式,这里我们也写出了解决这某些效果失效的解决方法,下面看代码版的实现方法。

1.将以下代码粘贴到 WordPress 主题目录下的 functions.php 文件的最后一个 ?> 之前即可:

//压缩html代码 
function wp_compress_html(){
    function wp_compress_html_main ($buffer){
        $initial=strlen($buffer);
        $buffer=explode("<!--wp-compress-html-->", $buffer);
        $count=count ($buffer);
        for ($i = 0; $i <= $count; $i++){
            if (stristr($buffer[$i], '<!--wp-compress-html no compression-->')) {
                $buffer[$i]=(str_replace("<!--wp-compress-html no compression-->", " ", $buffer[$i]));
            } else {
                $buffer[$i]=(str_replace("\t", " ", $buffer[$i]));
                $buffer[$i]=(str_replace("\n\n", "\n", $buffer[$i]));
                $buffer[$i]=(str_replace("\n", "", $buffer[$i]));
                $buffer[$i]=(str_replace("\r", "", $buffer[$i]));
                while (stristr($buffer[$i], '  ')) {
                    $buffer[$i]=(str_replace("  ", " ", $buffer[$i]));
                }
            }
            $buffer_out.=$buffer[$i];
        }
        $final=strlen($buffer_out);   
        $savings=($initial-$final)/$initial*100;   
        $savings=round($savings, 2);   
        $buffer_out.="\n<!--压缩前的大小: $initial bytes; 压缩后的大小: $final bytes; 节约:$savings% -->";   
    return $buffer_out;
}
if ( !is_admin() ) { 
        ob_start("wp_compress_html_main");
    }
}
add_action('init', 'wp_compress_html');

2.修改保存后去前台刷新下页面是否正常、是否压缩过了?如某些效果无法正常显示,查看源代码,那么我们还需要对这些位置进行禁止压缩操作,方法是:

<!--wp-compress-html--><!--wp-compress-html no compression-->
不被压缩的部分
<!--wp-compress-html no compression--><!--wp-compress-html-->

注意:将不想被压缩的部分前后加入这个白名单代码之内,那么这段代码就不会被压缩到,这样我们的WordPress就开启了压缩,加载速度就会更快更流畅!!

 

发表评论

后才能评论