纯代码压缩WordPress前端Html

建站教程 2020-04-12

易于阅读的前端代码对开发而言是无比重要的,但对于浏览器来说就显得无比鸡肋了,毕竟浏览器不是像人眼一样看代码,过多的换行和空格,对前台加载是有一定影响的,对使用大带宽高配置服务器的网站,这么点影响可能不算什么事,毕竟氪金可以解决一切,但对于我们这种使用小水管学生机的小站来说,可以优化的地方还是要坚持去优化的,毕竟谁都不想访问一个慢悠悠的网站,那么这里我就向大家分享下,如何通过使用纯代码来对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; 节约:$savings% -->";   
    return $buffer_out;
}
ob_start("wp_compress_html_main");
}
add_action('get_header', 'wp_compress_html');

加入以上代码后,打开网站前台,查看下源代码,看看最后一行是不是多了一个“压缩前的大小: xxx bytes; 压缩后的大小: xxx bytes; 节约:xxx%”的注释,如果有则说明生效了。

有些特别的网站,可能会存在部分js代码被压缩后无法正常运行,那么可以使用以下代码解决,把代码放入指定的标签就不会被压缩。

<!--wp-compress-html--><!--wp-compress-html no compression-->
此处代码不会被压缩,主要是避免压缩带来的错误,请把不想被压缩的代码放入这里
<!--wp-compress-html no compression--><!--wp-compress-html-->

上面的代码不是放入functions.php文件哈,需要在主题代码中有js的地方放入。

还有我们的文章中有时候也需要插入代码,比如我的网站,在这一篇文章中我就已经插入几段代码了,如果文章中插入的代码也被压缩,是很影响用户在前台的阅读体验的,所有我们也要进行一下处理,同样将一下代码放入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");

至此,在访问下网站检查下,看看是否正常且Html代码被成功压缩。

相关阅读

WordPress移除(wp_head)头部不必要的元素

以下内容都在主题的functions.php文件写入 1、移除WordPress版本信息 2、移除离线编辑器开放接口 3、移除WordPress头部加载DNS预获取 移除代码 4、移除emoji表情script和style 移除 5、移除wp-json链接 移除 6、移除 wp-block-library-css 前端 CSS 7、移除前后文、第一篇文章、主页meta信息 8、移除评论 9、移除w…

建站教程 2021-11-02
WordPress移除(wp_head)头部不必要的元素

WordPress发送邮件设置

WordPress在修改登陆邮箱或找回登陆密码的时候,通常都需要发送邮件来进行操作验证,但服务商又禁止了服务器对外发送邮件的25端口,很多虚拟主机本身也禁用了mail函数,根本发不了邮件。 此时我们可以使用QQ邮箱、网易邮箱或者其他企业邮箱的SMTP功能做为WordPress发送邮件的方案。 使用SMTP功能的方式很简单,只需要将下列代码加入到functions.php文件即可 使用时请参照代码里…

建站教程 2020-09-23
WordPress发送邮件设置

WordPress调用不同样式的分类列表

一个强大的WordPress主题应该满足各种自定义需求的设置,比如不同分类使用不同的分类列表样式,今天就和大家分享一下WordPress不同分类使用不同分类列表样式的设置思路。 方法一:创建独立ID或别名的样式文件 WordPress默认的分类是查找对应ID的主题文件,找不到就会指向archive.php文件,如果archive.php文件不存在,就会默认使用index.php文件。到网站后台查看…

建站教程 2021-07-07
WordPress调用不同样式的分类列表

SQL语句批量修改WordPress 文章内容

之前有多篇文章内容出现了同样的内容错误,大概的看了看八百多篇文章,一篇一篇的手动修改会累死,果断放弃手动修改的方法,而且错误的地方都是一样的,于是便直接用SQL语句进行批量修改。 再phpmyadmin中,输入上面的SQL语句,把要修改的旧内容,和新内容替换掉,执行即可。

建站教程 2020-02-21
SQL语句批量修改WordPress 文章内容

给WordPress文章添加广告位

想必有很多伙计的WordPress站点是没有广告位的,就算有广告位也很难得有文章中间的广告位,就像下面图片中的广告,直接显示在文章中间。 这里就给伙计们推荐一段代码来实现给文章添加广告位的目的,请把下面的代码放入functions.php文件。然后在第7行放入自己的广告代码,可以是谷歌联盟也可以是自己制作的其他图片广告或html代码。 其中第10行有一个数字2,表示此广告将插入到文章的第二段落后面…

建站教程 2020-12-06
给WordPress文章添加广告位
回到顶部