Bir ana temanın CSS dosyasını nasıl silebilirim?


33

Ana temam (Starkers), kaldırmaya çalıştığım bir CSS dosyası ekliyor (bunun yerine @import kullanmak istiyorum, böylece stilleri daha kolay geçersiz kılabilirim). Starkers, fonksiyonlarında aşağıdakileri içerir: php:

add_action( 'wp_enqueue_scripts', 'script_enqueuer' );

function script_enqueuer() {
    wp_register_script( 'site', get_template_directory_uri().'/js/site.js', array( 'jquery' ) );
    wp_enqueue_script( 'site' );

    wp_register_style( 'screen', get_template_directory_uri().'/style.css', '', '', 'screen' );
    wp_enqueue_style( 'screen' );
}

Alt işlevlerde aşağıdakileri denedim, ancak link ve script etiketleri hala baş bölümünde gösteriliyor.

add_action('init', 'removeScripts');
function removeScripts() {
    wp_dequeue_style('screen');
    wp_deregister_script('site');
}

Ebeveyn başlığında zor kodlanmış olup olmadıklarını görmek için iki kez kontrol ettim.

Yanıtlar:


39

Yerine @import kullanmak istiyorum böylece stilleri daha kolay geçersiz kılabilirim

Basitçe. Yapma. Yap. Yani.

Basitçe aynı kancaya atlayın ve ardından stilleri / komut dosyalarını silip / temizleyin ve özel stillerinizi atın.

function PREFIX_remove_scripts() {
    wp_dequeue_style( 'screen' );
    wp_deregister_style( 'screen' );

    wp_dequeue_script( 'site' );
    wp_deregister_script( 'site' );

    // Now register your styles and scripts here
}
add_action( 'wp_enqueue_scripts', 'PREFIX_remove_scripts', 20 );

Senaryoların kaldırılması ve kayıtlardan çıkarılması nedeni basittir:

Bunlardan herhangi birini ( 'screen'veya 'site') sildikten sonra ( veya ) kullanabilmek istiyorsanız, onları da silmeniz gerekeceğini unutmayın. Örneğin: wp_deregister_style( 'screen' );ve wp_deregister_script( 'site' );- peterjmag


1
Belki de basit ama resmi WP doktoru daha sonra codex.wordpress.org/Child_Themes'den yoksundur . Çocuk temaları için
dequeue

-1

Ana temanın stil sayfasını nasıl kaldıracağınız ve alt temanın stil sayfasını nasıl değiştireceğiniz VEYA sadece ana sayfanın stil sayfasını yüklenmeden kaldırmanız.

Starker temasının işlevleri.

add_action( 'wp_enqueue_scripts', 'script_enqueuer' );

function script_enqueuer() {
    //...
    wp_register_style( 'screen', get_template_directory_uri().'/style.css', '', '', 'screen' );
    wp_enqueue_style( 'screen' );
}

Stili "ekran" dedikleri kolu hatırlayın

Ana temanın alt tema stil sayfası ile değiştirilmesi

Starker-Child temasının işlevleri.php:

function custom_starkers_styles() {

    //Remove desired parent styles
    wp_dequeue_style( 'screen');

    //Replace with custom child styles
    wp_register_style( 'screen-child',​ trailingslashit( get_template_directory_uri() ). 'screen.css' );
    wp_enqueue_style( 'screen-child​'​);
}

add_action( 'wp_enqueue_scripts','custom_starkers_styles', 20 );

Ana temanın stil sayfasını kaldır

Starker-Child temasının işlevleri.php:

function remove_starkers_styles() {

    //Remove desired parent styles
    wp_dequeue_style( 'screen');

}

add_action( 'wp_enqueue_scripts','remove_starkers_styles', 20 );

Alt temanın add_action () değerini 20 önceliği (varsayılan 10) çünkü ana temayı sıraya koyduktan SONRA çalıştırmasını istiyoruz. Öncelik ne kadar yüksek olursa o kadar sonra çalışacaktır. 20> 10 böylece alt temanın eylemi her zaman ana tema yürütüldükten sonra devam eder.

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.