wordpress压缩前端页面的可爱小代码

这篇 WordPress 实战笔记教你用一段可爱的小代码压缩前端 HTML,减少页面空白字节、提升加载效率。适…


生猛大蝦 - triangle stage with smoke purple neon light abstract futuristic background

像哥这样的屌丝站长娃子,没钱去搞起流弊配置的服务器或者vps,就只好在程序上下手啦.
删除所有前端页面内的空格,是一个不错的节约页面字节大小的办法.
之前哥一直使用Autoptimize这个腻害的插件,它不仅能够压缩html,还能把css与js合并.但是哥的小囧客圈因为使用了cos-html-cache生成html,每次更新缓存都需要重新生成页面.
这样下来,就仅仅用到压缩html的功能了,如果是这样,那不如使用下面的可爱的代码版:

代码添加至 Functions.php

/*  
*压缩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 no compression-->
<p> 在注释的保护下 WP HTML Compression 将不会压缩此段代码</p>
<!--wp-compress-html no compression-->

感谢:http://www.mywpku.com/wp-html-compression.html

❓ 延伸问答与排错指南(FAQ)
WordPress 前端 HTML 怎么压缩?

可在主题的 Functions.php 中加入输出缓冲压缩函数,自动去掉空格、换行和制表符,从而减小页面体积。适合只想做 HTML 压缩、不想引入复杂插件功能的站点。

缓存页面还能用这种压缩代码吗?

可以。文章场景里就是因为页面已由缓存机制生成,插件的合并 CSS/JS 功能用不上,所以改用纯 HTML 压缩代码更轻量,也更贴合实际需求。

如何让某段代码不被压缩?

在需要保留的内容前后加上指定注释标记即可,压缩函数会识别这些标记并跳过该段。这样能避免特殊代码、格式敏感内容被误处理。


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理。