Usuń motyw Open Sans z Twenty Twelve

16

Tworzę motyw potomny dla Twenty Twelve v1.0 i chcę usunąć czcionkę Open Sans.

Open Sans jest dodawany do funkcji Twenty Twelve. Php:

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

Próbowałem wyrejestrować / usunąć kolejkę arkuszy stylów w funkcjach mojego childtheme.php (patrz przykłady poniżej), ale bez skutku:

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

Wszelkie pomysły, jak mogę usunąć ten plik? Dzięki!

Mattvic
źródło

Odpowiedzi:

12

Znalazłem odpowiedź tutaj :

Wywołania usuwające kolejność skryptów należy dodać do haka czynności wp_print_scripts (..). Wynika to z tego, że skrypty są zazwyczaj kolejkowane w kolejce na haku wp_enqueue_script, co dzieje się na początku procesu wp_head. Hak wp_print_scripts ma miejsce tuż przed wydrukowaniem skryptów, a zatem jest najnowszym procesem. (Otto)

Zgodnie z tą samą logiką możemy użyć wp_print_stylesdo usunięcia czcionki Open Sans:

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

To załatwiło sprawę.

Mattvic
źródło
6

Na WP 3.8+ z powodzeniem usunąłem „Open Sans” z moich stylów frontendu, używając istoty thetrickster :

<?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” może zależeć od wtyczki.

sglessard
źródło
To zadziałało nawet dla mnie na inny temat. Właśnie upuściłem go w funkcjach mojego dziecka ... Jestem bardzo, bardzo szczęśliwy z tego powodu. Jestem w Chinach, więc niechciane połączenia z Google nie są drobną optymalizacją - moje strony zawieszają się na kilka minut, czekając na połączenie z Google. To dla mnie ogromne :-D
Mike M
Och, i tak, zidentyfikowałem to we wtyczce (próbuję z dezaktywacją pojedynczo) == Jetpack ..... ogromny i bardzo trudno znaleźć coś, nie mówiąc już o modyfikacji. Dzięki, WP
Mike M.
4

W funkcji.php Twenty Twelve v1.1 komentarz wyjaśnia, jak usunąć arkusz stylów z wp_enqueue_scriptszaczepu:

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

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

Twoja próba, która nie działa brakowało parametru priorytetu w add_action(). Motyw nadrzędny kolejkuje styl z domyślnym priorytetem 10, więc motyw podrzędny musi usunąć z niego kolejność z priorytetem 11.

Rafi
źródło
3

Przekonasz się, że sam WordPress ładuje również Open Sans (przynajmniej wersja 3.8). W rzeczywistości ładowałem Open Sans trzy razy dla mnie: jeden dla administratora WP, jeden dla edytora TinyMCE, a drugi dla strony.

Jeśli Twoim celem jest całkowite usunięcie Open Sans, będziesz musiał zhakować sam WordPress (lub pozostać przy starszej wersji).

Mój własny kod do usuwania Open Sans (przynajmniej gdy użytkownik nie jest zalogowany, co jest przez większość czasu) to mój motyw functions.php:

add Activity ('wp_enqueue_scripts', 'ays_setup', 9);

funkcja ays_setup () {

    / * brak czcionki Open Sans w TinyMCE * /
    remove_filter ('mce_css', 'twentytwelve_mce_css');

    / * brak czcionki Open Sans dla strony * /
    remove Działalności („wp_enqueue_scripts”, „twentytwelve_scripts_styles”);
    add Działalności („wp_enqueue_scripts”, „ays_scripts_styles”);
}

funkcja ays_scripts_styles () {
    globalny $ wp_styles;

    / *
     * Dodaje JavaScript do stron z obsługą formularza komentarza
     * strony z komentarzami (gdy są używane).
     * /
    if (is_singular () && comments_open () && get_option ('thread_comments'))
        wp_enqueue_script ('komentarz-odpowiedź');

    // Dodaje JavaScript do obsługi zachowania ukrywania i pokazywania menu nawigacji.
    wp_enqueue_script ('twentytwelve-navigation', get_template_directory_uri (). '/js/navigation.js', array (), '1.0', true);

    // Ładuje nasz główny arkusz stylów.
    wp_enqueue_style ('twentytwelve-style', get_stylesheet_uri ());

    // Ładuje arkusz stylów specyficzny dla programu Internet Explorer.
    wp_enqueue_style ('twentytwelve-ie', get_template_directory_uri (). '/css/ie.css', array ('twentytwelve-style'), '20121010');
    $ wp_styles-> add_data („twentytwelve-ie”, „conditional”, „lt IE 9”);
}

twentytwelve_scripts_stylesma wszystko twentytwelve_scripts_stylesoprócz bitu ładującego Open Sans.

Júlio Reis
źródło