Yirmi Oniki temasından Open Sans'ı kaldırın


16

Twenty Twelve v1.0 için bir alt tema oluşturuyorum ve Open Sans yazı tipini kaldırmak istiyorum.

Open Sans, Yirmi On İki fonksiyona eklenmiştir. Php:

wp_enqueue_style( 'twentytwelve-fonts', add_query_arg( $query_args, "$protocol://fonts.googleapis.com/css" ), array(), null );

Çocuk sayfamın function.php (aşağıdaki örneklere bakın) içindeki stil sayfasını silmeyi / kaldırmayı denedim, ancak hiçbir etkisi olmadı:

function example_scripts_styles() {     
    wp_deregister_style( 'twentytwelve-fonts' );    
    wp_dequeue_style( 'twentytwelve-fonts' );
}
add_action( 'wp_enqueue_scripts', 'example_scripts_styles' );

Bu dosyayı nasıl kaldırabileceğim hakkında bir fikrin var mı? Teşekkürler!

Yanıtlar:


12

Cevabı burada buldum :

Komut dosyası ayıklama çağrıları wp_print_scripts eylem kancasına (..) eklenmelidir. Bunun nedeni, komut dosyalarının genellikle wp_head işleminin başında gerçekleşen wp_enqueue_script kancasında sıralanmasıdır. Wp_print_scripts kancası, komut dosyaları yazdırılmadan hemen önce gerçekleşir ve bu nedenle işlemin son halini alır. (Otto)

Aynı mantığı takip ederek wp_print_stylesOpen Sans yazı tipini kaldırmak için kullanabiliriz :

function remove_open_sans() {
   wp_dequeue_style( 'twentytwelve-fonts' );
}
add_action('wp_print_styles','remove_open_sans');

Bu hile yaptı.


6

WP 3.8 ve sonraki sürümlerde, 'Open Sans' i ön uç stillerimden, thetrickster'ın özünü kullanarak başarıyla kaldırdım :

<?php
// Remove Open Sans that WP adds from frontend
if (!function_exists('remove_wp_open_sans')) :
    function remove_wp_open_sans() {
        wp_deregister_style( 'open-sans' );
        wp_register_style( 'open-sans', false );
    }
    add_action('wp_enqueue_scripts', 'remove_wp_open_sans');

    // Uncomment below to remove from admin
    // add_action('admin_enqueue_scripts', 'remove_wp_open_sans');
endif;
?>

'Open Sans' eklenti bağımlılığı olabilir.


Bu benim için farklı bir tema üzerinde bile çalıştı. Sadece çocuğuma Tema Fonksiyonları düştü ..... Ben bu konuda süper, süper mutluyum. Çin'deyim, bu yüzden istenmeyen google çağrıları küçük bir optimizasyon değil - sayfalarım google'a çağrıların ölmesini bekleyen birkaç dakika beklemektedir. Bu benim için çok büyük:
D

Oh, ve evet ben bir eklenti (her seferinde birini devre dışı bırakma ile problama) tanımladı == Jetpack ..... büyük ve değişiklik yapmak, bir şey bulmak çok zor. Thanks, WP
Mike M

4

Yirmi Oniki v1.1'in function.php dosyasında, açıklama stil sayfasının wp_enqueue_scriptskancadan nasıl kaldırılacağını açıklar :

function mytheme_dequeue_fonts() {
         wp_dequeue_style( 'twentytwelve-fonts' );
      }

add_action( 'wp_enqueue_scripts', 'mytheme_dequeue_fonts', 11 );

Değil çalışma yaptı girişiminiz eksikti öncelikli parametre içinde add_action(). Üst tema, stili varsayılan 10 varsayılan önceliğiyle enqueque eder, bu nedenle alt temanın 11 önceliği ile dequeue olması gerekir.


3

WordPress'in kendisinin de Open Sans (en az 3.8 sürümü) yüklediğini göreceksiniz. Aslında, Open Sans'i benim için üç kez yüklüyordu: biri WP yöneticisi için, biri TinyMCE editörü için ve diğeri sayfa için.

Hedefiniz Open Sans'ı tamamen kaldırmaksa, WordPress'in kendisini hacklemeniz (veya daha eski bir sürümde kalmanız) gerekir.

Open Sans'i kaldırmak için kendi kodum (en azından bir kullanıcı oturum açtığında, çoğu zaman) benim temam functions.php:

add_action ('wp_enqueue_scripts', 'ays_setup', 9);

fonksiyon ays_setup () {

    / * TinyMCE'de Açık Sans yazı tipi yok * /
    remove_filter ('mce_css', 'twentytwelve_mce_css');

    / * sayfa için Sans yazı tipini aç * /
    remove_action ('wp_enqueue_scripts', 'twentytwelve_scripts_styles');
    add_action ('wp_enqueue_scripts', 'ays_scripts_styles');
}

işlev ays_scripts_styles () {
    global $ wp_styles;

    / *
     * Desteklemek için yorum formuna sahip sayfalara JavaScript ekler
     * dişli yorumları olan siteler (kullanımda).
     * /
    if (is_singular () && comments_open () && get_option ('thread_comments'))
        wp_enqueue_script ('yorum-cevap');

    // Gezinme menüsünün gizle ve göster davranışını işlemek için JavaScript ekler.
    wp_enqueue_script ('twentytwelve-navigation', get_template_directory_uri (). '/js/navigation.js', dizi (), '1.0', doğru);

    // Ana stil sayfamızı yükler.
    wp_enqueue_style ('twentytwelve-style', get_stylesheet_uri ());

    // Internet Explorer'a özgü stil sayfasını yükler.
    wp_enqueue_style ('twentytwelve-ie', get_template_directory_uri (). '/css/ie.css', dizi ('twentytwelve tarzı'), '20121010');
    $ wp_styles-> add_data ('twentytwelve-ie', 'koşullu', 'lt IE 9');
}

twentytwelve_scripts_stylestwentytwelve_scripts_stylesOpen Sans yükleyen bit dışında her şeye sahiptir .

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.