纯代码实现WordPress前端html代码压缩优化教程

原创 2016-10-03 阅读 159 次 评论 19 条

压缩网站前端代码的好处就不再细说,回顾前几天,boke112就分享了《WordPress轻量级优化压缩前端页面提速插件Autoptimize》,这是插件法实现WordPress前端html代码压缩优化,对于很多博主站长而言,很多时候都不喜欢使用插件,觉得WordPress插件会拖慢站点速度,所以今天就跟大家分享纯代码实现WordPress前端HTML代码压缩优化的教程。

纯代码实现WordPress前端html代码压缩优化教程

纯代码实现WordPress前端HTML代码压缩优化的方法比较简单,只需要将以下代码粘贴到WordPress主题目录下的functions.php文件的最后一个 ?> 之前即可。

  1. //压缩WordPress前端html代码 
  2. function wp_compress_html(){
  3.     function wp_compress_html_main ($buffer){
  4.         $initial=strlen($buffer);
  5.         $buffer=explode("<!--wp-compress-html-->"$buffer);
  6.         $count=count ($buffer);
  7.         for ($i = 0; $i <= $count$i++){
  8.             if (stristr($buffer[$i], '<!--wp-compress-html no compression-->')) {
  9.                 $buffer[$i]=(str_replace("<!--wp-compress-html no compression-->"" "$buffer[$i]));
  10.             } else {
  11.                 $buffer[$i]=(str_replace("\t"" "$buffer[$i]));
  12.                 $buffer[$i]=(str_replace("\n\n""\n"$buffer[$i]));
  13.                 $buffer[$i]=(str_replace("\n"""$buffer[$i]));
  14.                 $buffer[$i]=(str_replace("\r"""$buffer[$i]));
  15.                 while (stristr($buffer[$i], '  ')) {
  16.                     $buffer[$i]=(str_replace("  "" "$buffer[$i]));
  17.                 }
  18.             }
  19.             $buffer_out.=$buffer[$i];
  20.         }
  21.         $final=strlen($buffer_out);
  22.         $savings=($initial-$final)/$initial*100;
  23.         $savings=round($savings, 2);
  24.         $buffer_out.="\n<!--压缩前的大小: $initial bytes; 压缩后的大小: $final bytes; 节约:$savings% -->";
  25.     return $buffer_out;
  26. }
  27. //WordPress后台不压缩
  28. if ( !is_admin() ) {
  29.         ob_start("wp_compress_html_main");
  30.     }
  31. }
  32. add_action('init', 'wp_compress_html');
  33. //当检测到文章内容中有代码标签时文章内容不会被压缩
  34. function unCompress($content) {
  35.     if(preg_match_all('/(crayon-|<\/pre>)/i', $content$matches)) {
  36.         $content = '<!--wp-compress-html--><!--wp-compress-html no compression-->'.$content;
  37.         $content.= '<!--wp-compress-html no compression--><!--wp-compress-html-->';
  38.     }
  39.     return $content;
  40. }
  41. add_filter( "the_content""unCompress");

以上代码来自于张戈博客

温馨提示:

1、当我们的WordPress站点有某些页面或功能出现问题的时候,我们可以按照以下格式来添加标签以避免某些代码被压缩而出错。

  1. <!--wp-compress-html--><!--wp-compress-html no compression-->
  2. 此处代码不会被压缩,主要是避免压缩带来的错误,比如JS错误
  3. <!--wp-compress-html no compression--><!--wp-compress-html-->

2、本文这个功能只是压缩WordPress站点前端的HTML代码,如果想要压缩CSS代码的话,个人建议人工压缩,也就是通过复制主题的style.css文件中的CSS代码到本站的CSS代码在线美化与压缩工具,通过美化或压缩,然后再复制粘贴回style.css文件即可。

本文地址:http://boke112.com/3549.html
关注我们:请关注一下我们的微信公众号:扫描二维码,公众号:aiboke112
版权声明:本文为原创文章,版权归  所有,欢迎分享本文,转载请保留出处!
WordPress免费响应式主题:Nana
CPA教学与引流技巧

发表评论

呲牙憨笑坏笑偷笑色微笑抓狂睡觉酷流汗鼓掌大哭可怜疑问晕惊讶得意尴尬发怒奋斗衰骷髅啤酒吃饭礼物强弱握手OKNO勾引拳头差劲爱你

表情

  1. 我爱动感单车网
    我爱动感单车网 【省长】 @回复

    这个方法我只是用了很短一段时间,后来觉得压缩不了多少,现在是早已经不用它了(个人觉得,有点然并卵)!

  2. 孕妇护肤
    孕妇护肤 【农民】 @回复

    嗯,,用上了 没出现错误

  3. 表情包
    表情包 【县长】 @回复

    赞。找个时间折腾下,压缩后减少了文件传输大小。

  4. 金榜台博客
    金榜台博客 【县长】 @回复

    神一般的代码,他不认识我

  5. 小萝博客
    小萝博客 【市长】 @回复

    开了百度云压缩css样式都变了,只能人工了

  6. 明月登楼的博客
    明月登楼的博客 【总理】 @回复

    有了缓存后,压缩效果不明显!

  7. 我爱动感单车网
    我爱动感单车网 【省长】 @回复

    我的博客使用的正是这一方法,在此真诚感谢张戈的分享!

  8. 你的名字
    你的名字 【镇长】 @回复

    我终于把我的博客弄好了

  9. 闲鱼
    闲鱼 【村长】 @回复

    使用的代码压缩

  10. 自由人理财
    自由人理财 【村长】 @回复

    这个可以试试。

  11. Koolight
    Koolight 【省长】 @回复

    纯静态缓存后,压缩方案就不起作用了。

  12. 淘宝内部优惠券
    淘宝内部优惠券 【县长】 @回复

    我还是觉得插件好点儿,用代码的话,过段时间就忘了哪里改的了