Apa yang saya coba lakukan adalah menggunakan lebih sedikit css dengan Wordpress.
Anda seharusnya menautkan ke file .less Anda dengan atribut rel diatur ke 'stylesheet / less'. Tapi saya tidak tahu bagaimana cara mengubah kode yang dihasilkan oleh enqueue_style.
Apakah ada cara untuk menerapkan filter dan memengaruhi output?
EDIT: Jika ada yang ingin tahu bagaimana saya akhirnya mendapatkan ini berfungsi, berikut adalah potongan kode:
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);
filters
wp-enqueue-style
cbaigorri
sumber
sumber
$tag = "<link rel='stylesheet/less' id='$handle' $title href='$href' type='text/less' media='$media' />\r\n";
Jawaban:
Yap, keluaran tautan gaya akhir dilewatkan melalui
style_loader_tag
filter.sumber
Saya membuat fungsi yang menggunakan metode kueri () dari kelas WP_Dependancies. Selain itu tidak meregenerasi output, tetapi hanya menulis ulang bagian yang diperlukan.
Fungsi ini mengakses objek $ wp_styles global dan melakukan kueri untuk mendapatkan objek stylesheet. Dengan regex src diperiksa jika mengandung file .less, dan jika itu benar, atribut rel dimodifikasi sesuai. Dalam fungsi saya, saya selanjutnya mengganti akhiran -css di ID dengan akhiran -less, cukup hapus baris ini jika Anda tidak menyukainya.
sumber
ubah
rel=stylesheet
kerel=stylesheet/less
dalam$tag
definisi .. jugarel=alternate stylesheet/less
, tidak bekerja ..sumber
Terima kasih atas jawaban anda. Itu tidak berhasil bagi saya sampai saya menempatkan gema di tempat kembali:
sumber