Çocuk teması CSS neden iki kez araılıyor?


18

WP belgelerine göre bir alt tema oluşturdum ve gerekli fonksiyonu ekledim

<?php
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(), array('parent-style')  );
}

Her nasılsa benim çocuk tema stil sayfasına 2 referans ile sonuçlanır:

<link rel='stylesheet' id='twentythirteen-style-css'  href='http://DOMAIN.COM/wp-content/themes/twentythirteen-child/style.css?ver=2013-07-18' type='text/css' media='all' />

<link rel='stylesheet' id='child-style-css'  href='http://DOMAIN.COM/wp-content/themes/twentythirteen-child/style.css?ver=4.0' type='text/css' media='all' />

Neden?


Style.css dosyasının başlık bilgilerini alt temaya gönderebilir misiniz?
cybmeta

Yanıtlar:


17

Bu yazı, şimdi bu yazıdaki değişikliklerle güncellediğim bu yazıdan bağlantı kurdu

Bu konuyu gündeme getirdiğiniz için teşekkür ederiz. Senaryoyu hızlı bir şekilde test ettim ve çocuk tarzı aslında iki kez yüklendi.

Bir süre önce kodeksi güncellediğimde, alt stilin üst stilden sonra yükleneceğinden emin oldum.

Bu $priority, işlevden çıkarılarak ve alt temanın enqueue kısmı kaldırılarak kolayca giderilebilir . Her şeyi yeniden test ettim ve işe yarıyor. Birkaç insanın birlikte çalışabilmesi hoş olurdu.

Bu arada, kodeksi güncelleyeceğim ve bu gönderiye bağlantı vereceğim.

İşte çalışma kodu

add_action( 'wp_enqueue_scripts', 'enqueue_parent_theme_style');
function enqueue_parent_theme_style() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
}

DÜZENLE

Bu gönderinin çalışmadığı herkes için lütfen bu gönderiye bakın . Üst temanın stilleri nasıl eklediğine bakmanız gerekir. Bu sorudaki kod kesinlikle üst öğedeki stillerin olması gerektiği gibi yüklendiğine inanmaktadır. Değilse, bağlantılı cevaptaki alternatiflere bakın ve bunları deneyin


1
Test edecek. WP'nin stil sayfasının iki kez yüklenmesini umursamaması veya eksik olduğumuzun bir mantığı var gibi görünüyor.
mmcglynn

Konuyla ilgili olarak, burada ayrıntılı olarak açıklanan bu yöntemi kullanarak birkaç sorunla karşılaştım .
dMcClintock

Aynı 'kimliği' kullanırsanız stil sayfası iki kez yüklenmez. Ama bu başka bir sorun yaratır - Ben geçersiz kılmak böylece diğer css sonra yükler alt stil sayfasını enequeue istiyorum ... Ama bu sadece tarzı çoğaltır (veya aynı 'id' kullanıyorsanız görmezden)
php-b- greyder

1
Bu yöntemin ana sorunu, söyleyebileceğim, alt stilin alt temanın sürüm numarasını çekmemesidir. Her zaman ideal olmayan ana temanın sürüm numarasını içeriyor gibi görünüyor.
Garconis

@ Ben de örnek takip pieter-Goosen'ın Çocuk Temalar çocuk teması sürüm numarasını kullanır: wp_get_theme()->get('Version'). Ancak ben WP sürümü ve alt tema sürümü için yinelenen CSS sahip: <link rel="stylesheet" id="bushwick-style-css" href="/wordpress//wp-content/themes/bushwick-child/style.css?ver=4.9.8"...>ve <link rel="stylesheet" id="bushwick-child-css" href="/wordpress//wp-content/themes/bushwick-child/style.css?ver=1.3.6"...>. Bu durumlarda çözüm ne olurdu?
IvanRF
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.