问题描述
我想要做的是使用 less css 与 Wordpress 。
您应该将 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);
最佳解决方案
是的,最终样式链接输出通过 style_loader_tag
过滤器。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。