我想做的是在Wordpress中使用更少的CSS。
您应该将rel属性设置为'stylesheet / less'链接到.less文件。但是我不知道如何更改enqueue_style输出的代码。
有没有办法应用过滤器并影响输出?
编辑:如果有人对我最终如何使它起作用感到好奇,请参见以下代码片段:
function enqueue_less_styles($tag, $handle) {
global $wp_styles;
$match_pattern = '/\.less$/U';
if ( preg_match( $match_pattern, $wp_styles->registered[$handle]->src ) ) {
$handle = $wp_styles->registered[$handle]->handle;
$media = $wp_styles->registered[$handle]->args;
$href = $wp_styles->registered[$handle]->src . '?ver=' . $wp_styles->registered[$handle]->ver;
$rel = isset($wp_styles->registered[$handle]->extra['alt']) && $wp_styles->registered[$handle]->extra['alt'] ? 'alternate stylesheet' : 'stylesheet';
$title = isset($wp_styles->registered[$handle]->extra['title']) ? "title='" . esc_attr( $wp_styles->registered[$handle]->extra['title'] ) . "'" : '';
$tag = "<link rel='stylesheet' id='$handle' $title href='$href' type='text/less' media='$media' />";
}
return $tag;
}
add_filter( 'style_loader_tag', 'enqueue_less_styles', 5, 2);
为什么要加载.less样式表?它们最适合在开发过程中使用,然后导出到普通CSS,我认为这不是您的情况,因为您在询问如何使其与enqueue_style一起使用:)
—
onetrickpony
我在构建过程中将它们转换为CSS。没错,这仅是出于开发目的。
—
cbaigorri
感谢您发布代码段,因为它解决了我的问题。我在其他地方找到了类似的脚本,但是无法正常工作。
—
ScottS
我在$ tag值的末尾添加了“ \ r \ n”,因为它正在连接HTML中的行。
—
jnthnclrk 2013年
$tag = "<link rel='stylesheet/less' id='$handle' $title href='$href' type='text/less' media='$media' />\r\n";