I was using this code to minify HTML output in wordpress. It works perfect on the main page and on the post page, but in the admin section it causes a lot of problems.
function minify_html(){
ob_start('html_compress');
}
function html_compress($buffer){
$search = array(
'/\n/', // replace end of line by a space
'/\>[^\S ]+/s', // strip whitespaces after tags, except space
'/[^\S ]+\</s', // strip whitespaces before tags, except space
'/(\s)+/s', // shorten multiple whitespace sequences,
'~<!--//(.*?)-->~s' //html comments
);
$replace = array(
' ',
'>',
'<',
'\\1',
''
);
$buffer = preg_replace($search, $replace, $buffer);
return $buffer;
}
add_action('wp_loaded','minify_html');
Using 'the_post' instead of 'wp_loaded' minifies only the posts, but I'd like to be able to minify at 100% the main page, and the post page, but nothing in the admin section. How can I combine the actions in order to manage it?
Thank you!
Nice Code, exclude admin :
if (!(is_admin() )) {
function minify_html(){
ob_start('html_compress');
}
function html_compress($buffer){
$search = array(
'/\n/', // replace end of line by a space
'/\>[^\S ]+/s', // strip whitespaces after tags, except space
'/[^\S ]+\</s', // strip whitespaces before tags, except space
'/(\s)+/s', // shorten multiple whitespace sequences,
'~<!--//(.*?)-->~s' //html comments
);
$replace = array(
' ',
'>',
'<',
'\\1',
''
);
$buffer = preg_replace($search, $replace, $buffer);
return $buffer;
}
add_action('wp_loaded','minify_html'); }
It works well WP admin !
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With