WordPress'te .css sürümü nasıl değiştirilir?


13

Başlığın önerdiği gibi, temamdaki bir .css dosyasının sürümünü nasıl değiştireceğinizden emin değilim. Şu anda .css sürümü şu şekildedir:

<link rel='stylesheet' id='xxxx'  href='https://www. site css/ styles.css?ver=4.6.1' type='text/css' media='all' />

Çalıştırmam gereken bir komut dosyası var mı - 4.6.2 sürümünü yukarıdaki gibi yapmak için nereye bakmalıyım?


Bu senaryoyu nasıl yazdırıyorsunuz?
Nathan Powell

Yanıtlar:


18

Dördüncü argüman, $veriçin wp_enqueue_style()sürüm ayarlamanızı sağlar:

wp_enqueue_style( string $handle,
                  string $src = false,
                  array $deps = array(),
                  string|bool|null $ver = false,
                  string $media = 'all' );

Dokümanlar başına:

$ ver (string | bool | null) (İsteğe bağlı) Varsa stil sayfası sürüm numarasını belirten ve önbellek bozma amacıyla URL'ye sorgu dizesi olarak eklenen dize. Sürüm false olarak ayarlanırsa, yüklü olan WordPress sürümüne eşit bir sürüm numarası otomatik olarak eklenir. Null değerine ayarlanırsa sürüm eklenmez. Varsayılan değer: false


Bunun için teşekkür ederim - Sanırım sorduğum şey 'bunu nasıl yaparım' - yani 'yeni bir sürüm oluşturmak için bu komut dosyasını nasıl çalıştırırım'? Mantıklı bir umut ...
henry

Sorunuzu wp_enqueue_style()çağrılan kodla günceller misiniz ? WordPress, cevabımda $veryayınlanan açıklamaya göre sürümlendirmeyi otomatik olarak işler , bu yüzden $ ver'in false olarak ayarlandığını varsayıyorum. Değiştirmek isterseniz, $ ver bağımsız değişkenini yeni bir dizeye değiştirin (bu kural WordPress tarafından zaten kullanıldığından 4.6.2 kullanmazdım), ancak teknik olarak işe yarayacaktır.
Dave Romsey

1
Oradaki herhangi bir şeyi kolayca değiştirebilirsiniz. Örneğin $ver = time();, sayfaya her vurduğunuzda yeni bir sürüm oluşturur ve sürüm zaman olur.
Nathan Powell

8

Çoğunlukla temanın wp_enqueue_style()üstbilgiye stil sayfası eklemek için function.php dosyasının içindeki işlevi kullanır . Temanızın aynı olup olmadığını nasıl öğreneceğiniz aşağıda açıklanmıştır.

wp-content/themes/YOUR_THEME_NAME/functions.phpDosyanızı açın ve stil sayfasını ekleyen satırı bulun, Gibi:

wp_enqueue_style('main_style',  get_stylesheet_directory_uri() . '/style.css');

Veya Gibi:

wp_enqueue_style( 'twentysixteen-style', get_stylesheet_uri() );

Kimliği ( -cssbölüm hariç ) main_style-cssarayabilirsiniz ... kimlik şuysa: sadece main-stylefunction.php dosyanızda arama yapın ve muhtemelen aradığınız kod satırını bulmalısınız.

Artık kodu bulduğunuza ve temanızın wp_enqueue_style()function.php dosyasında bu stil sayfasını eklediğini biliyorsunuz . Sürüm için bu kodu güncellemeniz gerekir.

$style_ver = filemtime( get_stylesheet_directory() . '/style.css' );
wp_enqueue_style( 'main_style', get_stylesheet_directory_uri() . '/style.css', '', $style_ver );

Gördüğünüz gibi, bu kod filemtime()PHP işlevini kullanarak style.css dosyasının en son değiştirilme zamanını alır ve ayrıca time()işleri temiz hale getirmek için PHP işlevini kullanarak zamanı zaman damgasına dönüştürür .

Sürümün her seferinde dinamik olarak değişmesini istemiyorsanız bunu yapabilirsiniz:

wp_enqueue_style( 'main_style', get_stylesheet_directory_uri() . '/style.css', '', '1.5' );

Hepsi bukadar. Barış!


Uyarı: bir sistem yolu döndüreceği için get_stylesheet_directory()içini kullanmalısınız filemtime().
Half Crazed

3

Bu cevaplardan fazla bir şey alamadım, bu yüzden benim için neyin işe yaradığını yazacağımı düşündüm. Kodeks diyor ki biliyorum:

$ ver (string | bool | null) (İsteğe bağlı) Varsa stil sayfası sürüm numarasını belirten ve önbellek bozma amacıyla URL'ye sorgu dizesi olarak eklenen dize. Sürüm false olarak ayarlanırsa, yüklü olan WordPress sürümüne eşit bir sürüm numarası otomatik olarak eklenir. Null değerine ayarlanırsa sürüm eklenmez. Varsayılan değer: yanlış

Ama aslında nasıl çalıştığı konusunda çok şifreli. Stil sayfamdaki wp_enqueue_stylegibi bir sorgu parametresini tetiklemek için bir sürüm numarası alamadım ?ver=1.2.3. Ancak true olarak ayarlamak, stil sayfasının bildirilen sürümüne stil sayfasına izin verir cache bust. (Okumaya devam etmek)

Style.css içinde temanızı adlandırmalısınız. Bu WP için gereklidir. Bununla birlikte version, wp_enqueue_style'in sürüm booleanının da referans verdiği diğer seçenekler .

/******************************************************************
Site Name: MySite.com
Author: @BenRacicot
Version: 4.0 // <- wp_enqueue_style's version number
Stylesheet: Main Stylesheet
******************************************************************/

Şimdi bu değiştirdiğinizde Version: 4.1alıyorumstyle.css?cache-bust=0.24135995238933283


2

Sadece time()bu gibi bir enqueue tarzı veya komut dosyası kullanabilirsiniz.

Wordpress wp_enqueue_style()işlevini kullanmadan

<link rel='stylesheet' id='xxxx'  href='https://www. site css/ styles.css?ver=<?php echo time(); ?>' type='text/css' media='all' />

wp_enqueue_style()Fonksiyonu kullanma

wp_enqueue_style('style_sheet_name', get_stylesheet_directory_uri() . '/custom_style.css', '', time());

VEYA

wp_enqueue_style('style_sheet_name', get_stylesheet_uri() . '/custom_style.css', '', time());

1
Bunu tavsiye etmem, hep birlikte önbelleğe alma sürümünü yeneceğinden eminim.
Fabian von Ellerts
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.