問題描述
我想要做的是使用 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。