I want use voku/HtmlMin in wordpress functions.php, i install composerr in theme folder and i use code:
class WP_HTML_Compression
{
// Settings
protected $compress_css = true;
protected $compress_js = true;
protected $info_comment = true;
protected $remove_comments = true;
// Variables
protected $html;
public function __construct($html)
{
if (!empty($html)) {
$this->parseHTML($html);
}
}
public function __toString()
{
return $this->html;
}
protected function bottomComment($raw, $compressed)
{
$raw = strlen($raw);
$compressed = strlen($compressed);
$savings = ($raw-$compressed) / $raw * 100;
$savings = round($savings, 2);
return '<!--HTML compressed, size saved '.$savings.'%. From '.$raw.' bytes, now '.$compressed.' bytes-->';
}
protected function minifyHTML($html)
{
require('vendor/autoload.php');
$htmlMin = new vokuhelperHtmlMin();
return $htmlMin->doRemoveComments->doSortCssClassNames()->doSortHtmlAttributes()->minify($html);
$htmlMin = vokuhelperHtmlMin;
$htmlMin = new HtmlMin();
}
public function parseHTML($html)
{
$this->html = $this->minifyHTML($html);
if ($this->info_comment) {
$this->html .= "n" . $this->bottomComment($html, $this->html);
}
}
protected function removeWhiteSpace($str)
{
$str = str_replace("t", ' ', $str);
$str = str_replace("n", '', $str);
$str = str_replace("r", '', $str);
while (stristr($str, ' ')) {
$str = str_replace(' ', ' ', $str);
}
return $str;
}
}
function wp_html_compression_finish($html) {
return new WP_HTML_Compression($html);
}
function wp_html_compression_start() {
ob_start('wp_html_compression_finish');
}
add_action('get_header', 'wp_html_compression_start');
but it’s not work. How add voku/htmlmin correct?
Go to Source
Author: johm