Child Theme, style.css dosyasının en son sürümünü yükleyemiyor


9

Doğru ayarlanmış bir Çocuk teması kullanıyorum. Ancak, Child tema stilinde değişiklikler alamıyorum. Ccs siteye yansıtılacak. Tarayıcı önbelleğini milyon kez boşaltmayı denedim ve işe yaramadı!

Alt şablon dosyaları oluşturdum ve üst dosyaları iyi geçersiz kıldılar.

Görünüm sourse fark böyle stil sayfasının sonuna bir sürüm numarası koyar: - style.css? Ver = 3.9.1 Ben hiçbir sürüm oluşturmamış olsa bile!

Oluşturduğum başka bir sitede stil sayfasının herhangi bir sürümü yok, bu yüzden ayarlanmasını istemediğimde neden otomatik olarak koyuluyor.

Child style.css dosyasının en güncel sürümünü kullanmaya değil, sürümünü kullanmaya nasıl zorlayabilirim?

İşte sitemin url'si: - http://www.peterswebservices.co.uk/


1
Tarayıcı önbelleğe alma en belirgin olasılıktır, ancak sunucu önbelleğe alma aynı etkiye neden olabilir ve bu nedenle bazı ISS'lerin ve bağımsız sitelerin sunduğu web "hızlandırıcıları" da olabilir.
s_ha_dum

Gördüğünüz sürüm kısmı, wordpress tarafından otomatik olarak eklenen geçerli wordpress sürümüdür. Bunun için endişelenmenize gerek yok.
Pieter Goosen

Yanıtlar:


4

Yirmi dört yaşında, bunu çocuk temanıza koymayı deneyin:

function add_require_scripts_files() {
 wp_enqueue_style('twentyfourteen-style', get_stylesheet_directory_uri().'/style.css', array(), '1.0.0', "all");        
}
add_action( 'wp_enqueue_scripts', 'add_require_scripts_files' );

Bu, orijinal stil sayfasının yerine kendi sürümünüzle değiştirilir. Farklı bir üst tema kullanıyorsanız, style.css için orijinal wp_enqueue_style etiketine bakın ve bu etiketi alt temanız içinde çoğaltın. Her değişiklik yaptığınızda 1.0.0'ı başka bir sayıya değiştirmeniz gerekecektir (bu nedenle, sık sık değişiklik yapmadığınız üretim ortamları için daha iyidir).

Sürümü komut dosyalarından ve stillerden birlikte kaldırmak için şunu deneyin:

// remove WP version tag from scripts and styles, best for dev environments
// by Adam Harley https://wordpress.org/support/topic/enqueueregister-script-remove-version
add_filter( 'script_loader_src', 'remove_src_version' );
add_filter( 'style_loader_src', 'remove_src_version' );
function remove_src_version ( $src ) {
  global $wp_version;
  $version_str = '?ver='.$wp_version;
  $version_str_offset = strlen( $src ) - strlen( $version_str );
  if( substr( $src, $version_str_offset ) == $version_str )
    return substr( $src, 0, $version_str_offset );
}

4

X ile kullandığım bir Child temasının 'function.php' dosyasına aşağıdaki işlevi eklemek de benzer durumda bana çok yardımcı oldu.

add_action( 'wp_enqueue_scripts', 'enqueue_child_theme_styles', PHP_INT_MAX);
function enqueue_child_theme_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
    wp_enqueue_style( 'child-style', get_stylesheet_uri(), NULL, filemtime( get_stylesheet_directory() . '/style.css' ) );
}

Sadece unutma web sitenizin yayında başlatmadan önce bu kaldırın.

Ayrıca bu güncelleme efekti yapmak için barındırma servis sağlayıcınızın önbellek özelliklerini unutmayın.

Yazara göre :

... tarayıcıları css dosyalarının yeni sürümlerini yüklemeye zorlamak için WordPress'e filemtime () ile birlikte bir childtheme stil sayfası eklemenin en iyi yoludur. Asla dokunmadığım için filemtime () kullanmadım ve bu yüzden filemtime () sadece kaynakları boşa harcar.

Kaynak : Daniel tarafından 22 Ekim 2014 itibarıyla CSS Önbelleğini Önleme makalesine yorum: https://css-tricks.com/snippets/wordpress/prevent-css-caching/#comment-1586141


0

Siteyi görmeden sorunu teşhis etmemize yardımcı olamayız, ancak ortak bir olay, ana temanın css'nin alt css'e göre öncelikli olmasıdır, !importantetiketi kullanarak bunu geçersiz kılabilirsiniz.

#element {
 color:#fff !important;
}

Önemli etiketi, css'in aynı css satırına sahip diğer css dosyalarına göre önceliği olduğunu belirtir

URL'yi bize bildirin ve bu yardımcı olursa


Ben önemli değil! Ama sorun benim url: - peterswebservices.co.uk Ben de Google Chrome üzerinde müfettiş kullandığınızda ve son değişiklikleri olmadan önceki bir sürümünü gösteren css dosyasına matkap zaman.
user1199360

0

Ben sadece aynı sorunu vardı ve bu benim önbelleğe varsayılan olarak açık bir tür olan yeni ev sahibi olduğu ortaya çıktı. Kontrol panelime gittim ve önbelleği temizledim ve daha sonra doğru style.css dosyasını doğru bir şekilde sundu.

? Ver = 3.9.1 kırmızı bir ringa balığı oldu (en azından benim için). Önbelleği temizledikten sonra hala css dosyamda hiçbir yerde bulunmayan? Ver = 3.9.1 diyor, ama hepsi iyi çalışıyor.


1
?ver=3.9.1Otomatik wordpress tarafından eklenir. Bu wordpress'in mevcut sürümüdür ve temanızla ilgisi yoktur :-)
Pieter Goosen

0

Aynı sorunu yaşadım ve varsayılandan başka bir şekilde düzelttim.

Önce değiştirmem gereken dosyayı buldum:

wp-includes\theme.php

Get_stylesheet_uri adlı bir işlev var

Benim fonksiyonum şöyle görünür:

function get_stylesheet_uri() {
    $time = time();
    $stylesheet_dir_uri = get_stylesheet_directory_uri();
    $stylesheet_uri = $stylesheet_dir_uri . '/style.css?v='.$time;
    /**
     * Filter the URI of the current theme stylesheet.
     *
     * @since 1.5.0
     *
     * @param string $stylesheet_uri     Stylesheet URI for the current theme/child theme.
     * @param string $stylesheet_dir_uri Stylesheet directory URI for the current theme/child theme.
     */
    return apply_filters( 'stylesheet_uri', $stylesheet_uri, $stylesheet_dir_uri );
}
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.