css - 添加到 WordPress 头部时缩小输出中的 CSS

标签 css wordpress minify

我正在从文本区域中添加 CSS。在 <head> 中添加时,有没有一种方法可以轻松缩小输出?

CSS

#logo img{
  opacity: 0.8;
}
#header{
  background-color: red;
}

function add_css_to_head(){
    $opt =  get_option( 'get_css_head' );

    echo '<style type="text/css" id="get_css_head">' . "\n" . stripslashes( $opt ) . "\n" . '</style>';
}
add_action('wp_head', 'add_css_to_head');

我希望在 <head> 中有这样的输出

#logo img{opacity:.8}#header{background-color:red}

提前致谢

最佳答案

你可以结合使用 php heredocs 和 php str_replace...就像这样

function add_css_to_head(){
    $buffer = <<<EOD
    #logo img{
        opacity: 0.8;
    }
    #header{
        background-color: red;
    }
    EOD;

    $buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
    $buffer = str_replace(': ', ':', $buffer);
    $buffer = str_replace(array("\r\n", "\r", "\n", "\t", '  ', '    ', '    '), '', $buffer);
    echo($buffer);
}
add_action('wp_head', 'add_css_to_head');

编辑

如果您从主题选项中获取输出,那么代码将如下所示

function add_css_to_head(){
    $buffer =  get_option( 'get_css_head' );

    $buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
    $buffer = str_replace(': ', ':', $buffer);
    $buffer = str_replace(array("\r\n", "\r", "\n", "\t", '  ', '    ', '    '), '', $buffer);
    echo($buffer);

}
add_action('wp_head', 'add_css_to_head');

关于css - 添加到 WordPress 头部时缩小输出中的 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38721796/

相关文章:

javascript - suitecrm 的网络引导形式在 WordPress 中不起作用

javascript - 在 Javascript 中用参数替换局部变量是否会影响性能?

java - 基于 Spring Java 的配置和资源问题

wordpress - 我有 WP multisite、ACM Issued SSL、Load Balancer Setup,如何为用户提供 HTTPS 访问?

php - 按日期排序的 Wordpress PostViews 插件

javascript - 如何使用 Script# 生成缩小的 javascript?

c# - 您对 C# 缩小有什么建议吗?

html - 如何在移动视口(viewport)的 CSS 文件中设置 HTML 元素的样式

javascript - 在输入文本表单旁边添加标签

html - Flex CSS - 列表项的左边距不仅仅是最后一个 child