WP HTML Compression 是我用过最简单但最实用的插件,它的主要作用是——删除前端页面所有空行和制表符等不必要的内容、简化代码,从而实现加速 WordPress 的效果。你甚至不需要做任何设置,下载,安装,启用。不要小看页面中的空行,删去后可以节省大量载入时间,这也就是为什么 jQuery、Bootstrap 等文件要提供“Uncompressed”和“Compressed”版的原因。
WP HTML Compression 将会自动把所有带http:// 的链接更换为// ,导致站长之家、爱站等站长工具无法正常检测友情链接。解决的方法即为:
<!--wp-html-compression no compression--> <p> 在注释的保护下 WP HTML Compression 将不会压缩此段代码</p> <!--wp-html-compression no compression-->
当然,如果不想安装插件的同学也可以试试下面代码~
代码版:直接添加至 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; 节约:$savings% -->"; return $buffer_out; } ob_start("wp_compress_html_main"); } add_action('get_header', 'wp_compress_html');
不压缩部分的相应代码改为:
<!--wp-compress-html--><!--wp-compress-html no compression--> 此处代码不会被压缩,主要是避免压缩带来的错误,比如JS错误 <!--wp-compress-html no compression--><!--wp-compress-html-->
其实还有2个技巧:①、将最后三行修改成:
if ( !is_admin() ) {
ob_start(“wp_compress_html_main”);
}
}
add_action(‘init’, ‘wp_compress_html’);;
压缩生效范围更大,某些主题,比如知更鸟不这样修改的话,无法压缩首页,不懂为啥。。。
②、如果博客使用了Crayon Syntax Highlighter高亮插件,那么启用代码压缩之后,你会发现在文章页面双击代码切换到纯文本模式时,会发现代码全挤在一团了!解决办法:到插件设置中,取消双击切换到纯文本功能,具体看我文章几个红色部分。
然后,就很多人从你这里复制过去了。。。
做博客我发现不容易,博客的定义很总要!专业和全面,2者的平衡不好把握
自建页面不行
@吴尼玛 =-=||那当然不行
这个怎么用
貌似不错
好。
帮顶帮顶帮顶
棒!感谢分享~
这个和gzip,效果一样吗?哪个好