龙笑天龙笑天  2016-04-06 06:15 龙笑天下 隐藏边栏 |   7 条评论  1,989 
文章评分 31 次,平均分 4.9

为了优化网站的访问速度,对网页进行压缩是非常不错的一条方法。尽管说压缩 wordpress 页面后对查看源代码来说不太友好,更可以说是惨目忍睹。但是压缩页面的好处就是减少了页面的体积,从访问速度上来说,更快些,尽管这些是肉眼看不到的,但是这样做确实很好,另一方面就是给扒皮者制造麻烦,他们不得不重新整理页面代码的整洁性!

插件版

如果你正在找一款只可以压缩 wordpress 代码,优化 wordpress 的工具,不需要其他多余的功能,那么这个插件你应该会喜欢:WP-HTML-Compression。与同类 wordpress 优化插件Autoptimize有相似的功能,它的主要作用是——删除前端页面所有空行和制表符等不必要的内容、简化代码,从而实现加速 WordPress 的效果。你甚至不需要做任何设置,下载,安装,启用。不要小看页面中的空行,删去后可以节省大量载入时间,这也就是为什么 jQuery、Bootstrap 等文件要提供“Uncompressed”和“Compressed”版的原因。

当然,如果你有些代码不想被压缩,那么此插件也提供了非常人性化的注释方法:

<!--wp-html-compression no compression-->
此标签里的代码将受到保护,不会被插件压缩
<!--wp-html-compression no compression-->

代码版

当然,如果不想安装插件的同学也可以试试下面代码!压缩效果可见本站。

直接在 functions.php 中加入下面的代码即可,来自@张戈

/**
* WordPress 前端 html 网页代码压缩优化(插件版和代码版)
* https://www.ilxtx.com/wordpress-html-compression.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');

当然,同插件一样,代码版也可以对不想被压缩的地方加上特定的注释进行排除,方法如下:

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

比如,如果你跟我一样使用了 Crayon Syntax Highlighter 高亮插件,为了防止“代码切换到纯文本模式时,代码全挤在一团”,可在 function.php 中加入以下代码:

/* Crayon Syntax Highlighter 高亮插件不启用压缩 */
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");

「点点赞赏,手留余香」

还没有人赞赏,快来当第一个赞赏的人吧!

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

龙笑天
龙笑天 关注:32    粉丝:36
互助分享,互联网本该如此!

发表评论

表情 贴图 链接 私密 格式 签到
最赞评论
  1. Z
    zengda 来自天朝的朋友 搜狗浏览器 2.X Windows 7 山东省潍坊市 联通

    不错,不错,看看了!

  2. boke112导航
    boke112导航 评论达人 LV.3 来自天朝的朋友 谷歌浏览器 45.0.2454.101 Windows XP 广西南宁市 电信

    这个方法挺不错的,很实用

  3. 龙笑天
    龙笑天 永久会员 博主 来自天朝的朋友 火狐浏览器 Windows 7

    @boke112导航可以压缩试试感觉~ [偷笑]

  1. 我爱动感单车网
    我爱动感单车网 评论达人 LV.3 来自天朝的朋友 谷歌浏览器 45.0.2454.101 Windows XP 广西桂林市 电信

    以前尝试过使用 Autoptimize 插件,后来觉得有时候自己要查看源代码,或是修改代码实在是不方便,就弃用了!

    5楼 2016-08-28 23:44
    0 0 回复
  2. 成航先森
    成航先森 评论达人 LV.3 来自天朝的朋友 谷歌浏览器 48.0.2564.116 Windows 7 四川省成都市 联通

    之前就采用了张哥提供的代码了,真的很好用。但是想给扒代码的制造麻烦还是算了,F12 审查元素自动帮你整理的规规整整的。

    4楼 2016-04-24 22:17
    0 0 回复
  3. boke112导航
    boke112导航 评论达人 LV.3 来自天朝的朋友 谷歌浏览器 45.0.2454.101 Windows XP 广西南宁市 电信

    这个方法挺不错的,很实用

    地板 2016-04-13 12:57
    6 0 回复
  4. 好文推荐
    好文推荐 来自天朝的朋友 谷歌浏览器 45.0.2454.101 Windows 10 广东省广州市 联通

    支持一下、不错

    板凳 2016-04-12 16:10
    1 1 回复
  5. Z
    zengda 来自天朝的朋友 搜狗浏览器 2.X Windows 7 山东省潍坊市 联通

    不错,不错,看看了!

    沙发 2016-04-08 09:28
    8 0 回复
扫一扫二维码分享