纯代码压缩WordPress前端Html

Posted 思崖墨言

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了纯代码压缩WordPress前端Html相关的知识,希望对你有一定的参考价值。


易于阅读的前端代码对开发而言是无比重要的,但对于浏览器来说就显得无比鸡肋了,毕竟浏览器不是像人眼一样看代码,过多的换行和空格,对前台加载是有一定影响的,对使用大带宽高配置服务器的网站,这么点影响可能不算什么事,毕竟氪金可以解决一切,但对于我们这种使用小水管学生机的小站来说,可以优化的地方还是要坚持去优化的,毕竟谁都不想访问一个慢悠悠的网站,那么这里我就向大家分享下,如何通过使用纯代码来对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前端Html的主要内容,如果未能解决你的问题,请参考以下文章

前端图片压缩上传(纯js的质量压缩,非大小压缩)

前端图片压缩上传(纯js的质量压缩,非长宽压缩)

来自程序员的圣诞浪漫&纯CSS3打造的圣诞祝福献给前端初学者内附代码以及运行方法

WordPress - 代码片段插件

#WordPress小技巧#纯代码为自己博客添加支付宝/微信打赏功能

VS Code配置snippets代码片段快速生成html模板,提高前端编写效率