压缩WordPress前端代码,提高访问速度

后端 · 2020-03-31 ·

压缩HTML页面的好处就是略微提升页面加载速度,优化网站访问。

上代码!

//压缩WordPress前端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;  
}  
ob_start("wp_compress_html_main");  
}  
add_action('get_header', 'wp_compress_html');  

以上代码会将wordpress生成的静态代码去除空白和换行,但有的地方不想压缩,比如代码样式,压缩后代码都在一行,不利于阅读。

/**
 * 阻止内容页代码压缩
 */
function unCompress($content) {  
    if(preg_match_all('/(crayon-|<\/pre>)/i', $content, $matches)) {  
        $content = '<!--wp-compress-html--><!--wp-compress-html no compression-->'.$content;  
        $content.= '<!--wp-compress-html no compression--><!--wp-compress-html-->';  
    }  
    return $content;  
}  
add_filter( "the_content", "unCompress");  
?>
%