首页 > CMS应用 > 正文
wordpress免插件压缩优化前端html内容

关于wordpress前端html代码压缩,有一款很好用的插件Autoptimize,老生常谈的对于一个中二病晚期以及深度强迫症患者,前面已经提及过很多次,咱能不用插件就不用,下面分享一下我找到的解决方法。

1、将一下代码添加到你当前主题的functions.php文件当中,注意php起始。

//压缩html代码 
//压缩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.="";   
    return $buffer_out;
}
ob_start("wp_compress_html_main");
}
add_action('get_header', 'wp_compress_html');

2、部分主题功能失效的,请将以上代码的最后三行修改为以下代码

if ( !is_admin() ) { 
 ob_start("wp_compress_html_main");
 }
}
add_action('init', 'wp_compress_html');

3、对于不想要被压缩的内容,可以在编辑内容的时候添加一下排除代码

<!--wp-compress-html--><!--wp-compress-html no compression-->
这里的代码不会被压缩
<!--wp-compress-html no compression--><!--wp-compress-html-->

4、对于部分使用了Crayon Syntax Highlighter插件后台编辑文本模式也被压缩的,把以下代码添加到你当前主题的functions.php文件,注意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");

文章评论

共有 0 条评论

Top