Enqueued Stiller ve Komut Dosyalarında Sürüm URL Parametresini (? Ver = XXX) Önle


12

Kullanım Durumu

Chrome'un Dev Tools Çalışma Alanı özelliklerini deniyorum. Bir dosyayı doğrudan Dev Tools'da düzenleme ve kaydedilen stil sayfasının kendisini yenilemesini (hatta derleyip sonra yenilemesini!) İçerir.

Bununla birlikte, "SASS CSS'yi yeniden derlediğinde Chrome'un" Otomatik Yeniden Oluşturulan CSS "sayfayı yeniden yüklemiyor" StackOverflow sorusunda belgelendiği gibi , stil sayfası URL'sindeki URL parametreleri, Chrome'un değişikliği fark etmesini önler.

İstenen sonuç

Bu sadece geliştirme sırasında , tarafından ?ver=X.X.Xnormal stil sayfası <link>çıktısını kaldırmak istedim anlamına gelir wp_enqueue_style(). Başka bir deyişle, varsayılanı istedim href:

http://localhost/mysite/wp-includes/style.css?ver=4.1.1

bunun yerine:

http://localhost/mysite/wp-includes/style.css

Yanıtlar:


12

Varsayılan wp_enqueue_[style/script]()davranış

Varsayılan değeri $versionargüman ait wp_enqueue_style()DİR false. Ancak, bu varsayılan, stil sayfalarına WordPress sürümü verildiği anlamına gelir .

Çözüm

"Sürümü WordPress enqueued CSS ve JS'den kaldır" sayesinde, sürüm olarak aktarmanınnull sürümü tamamen kaldıracağı belgelenmemiş gerçeği öğrendim !

Misal

wp_enqueue_style( 'wpse-styles', get_template_directory_uri() . '/style.css', array(), null );

Uyarı Uyarısı

Soruda belirtildiği gibi, bunun muhtemelen sadece geliştirme sırasında (spesifik kullanım tabanında olduğu gibi) yapılması gerektiğini belirtmek gerekir. Version parametresi site ziyaretçileri için önbelleğe alma (ve önbelleğe almama) konusunda yardımcı olur ve bu nedenle vakaların% 99'unda yalnız bırakılmalıdır.


8

Gönderiniz için teşekkür ederim, bayım.

Bunun için başka bir çözüm buldum, çok basit bir eklenti oluşturarak site artık geliştirme aşamasındayken devre dışı bırakabilirsiniz.

<?php

/*
Plugin name: Strip WP Version in Stylesheets/Scripts
*/

function switch_stylesheet_src( $src, $handle ) {

        $src = remove_query_arg( 'ver', $src );
        return $src;
}
add_filter( 'style_loader_src', 'switch_stylesheet_src', 10, 2 );

?>

Bu çözümü bulmaya birkaç dakika harcadım. Burada yeni bir Soru / Cevap oluşturmak yerine başka bir seçeneği paylaşabileceğimi düşündüm.


çalışmıyor ...
reggie

Bu doğru cevap. Bu filtreyi geliştirirken kullanın ve yayına girdikten sonra çıkarın.
dtbaker

Dequeue ve kuyruk stillerinden daha iyi. Filtreli komut dosyaları için de geçerlidirscript_loader_src
Dharma
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.