易于閱讀的前端代碼對開發(fā)而言是無比重要的有额,但對于瀏覽器來說就顯得無比雞肋了般又,畢竟瀏覽器不是像人眼一樣看代碼,過多的換行和空格巍佑,對前臺加載是有一定影響的茴迁,對使用大帶寬高配置服務(wù)器的網(wǎng)站,這么點影響可能不算什么事萤衰,畢竟氪金可以解決一切笋熬,但對于我們這種使用小水管學生機的小站來說,可以優(yōu)化的地方還是要堅持去優(yōu)化的腻菇,畢竟誰都不想訪問一個慢悠悠的網(wǎng)站,那么這里我就向大家分享下昔馋,如何通過使用純代碼來對WordPress前端Html進行壓縮筹吐,以達到給前臺訪問加速的目的。
首先將以下代碼放入WordPress主題目錄里的functions.php文件的最后一個 ?> 之前秘遏。
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; 節(jié)約:$savings% -->";
return $buffer_out;
}
ob_start("wp_compress_html_main");
}
add_action('get_header', 'wp_compress_html');
加入以上代碼后丘薛,打開網(wǎng)站前臺,查看下源代碼邦危,看看最后一行是不是多了一個“壓縮前的大小: xxx bytes; 壓縮后的大小: xxx bytes; 節(jié)約:xxx%”的注釋洋侨,如果有則說明生效了。
有些特別的網(wǎng)站倦蚪,可能會存在部分js代碼被壓縮后無法正常運行希坚,那么可以使用以下代碼解決,把代碼放入指定的標簽就不會被壓縮陵且。
<!--wp-compress-html--><!--wp-compress-html no compression-->
此處代碼不會被壓縮裁僧,主要是避免壓縮帶來的錯誤,請把不想被壓縮的代碼放入這里
<!--wp-compress-html no compression--><!--wp-compress-html-->
上面的代碼不是放入functions.php文件哈慕购,需要在主題代碼中有js的地方放入聊疲。
還有我們的文章中有時候也需要插入代碼,比如我的網(wǎng)站沪悲,在這一篇文章中我就已經(jīng)插入幾段代碼了获洲,如果文章中插入的代碼也被壓縮,是很影響用戶在前臺的閱讀體驗的殿如,所有我們也要進行一下處理贡珊,同樣將一下代碼放入functions.php文件的最后一個?>中最爬。
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");
至此,在訪問下網(wǎng)站檢查下飞崖,看看是否正常且Html代碼被成功壓縮烂叔。
訪問我的獨立網(wǎng)站語幕,查看源代碼即可看到效果固歪。