Entfernen Sie Open Sans aus dem Thema Twenty Twelve

16

Ich erstelle ein untergeordnetes Design für Twenty Twelve v1.0 und möchte die Open Sans-Schriftart entfernen.

Open Sans wurde in Twenty Twelve´s functions.php hinzugefügt:

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

Ich habe versucht, das Stylesheet in der Datei functions.php meines Kindes abzumelden / zu entfernen (siehe Beispiele unten), aber ohne Erfolg:

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

Irgendwelche Ideen, wie ich diese Datei entfernen kann? Vielen Dank!

Mattvic
quelle

Antworten:

12

Fand die Antwort hier :

Aufrufe zum Entfernen von Skripten aus der Warteschlange sollten dem Aktions-Hook wp_print_scripts (..) hinzugefügt werden. Dies liegt daran, dass Skripte normalerweise in der Warteschlange des Hooks wp_enqueue_script abgelegt werden, was zu Beginn des Prozesses wp_head erfolgt. Der Hook "wp_print_scripts" wird direkt vor dem Drucken von Skripten ausgeführt und ist daher der letzte in diesem Prozess. (Otto)

Nach der gleichen Logik können wir wp_print_stylesdie Open Sans-Schrift entfernen:

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

Das hat den Trick gemacht.

Mattvic
quelle
6

In WP 3.8+ habe ich 'Open Sans' erfolgreich aus meinen Frontend-Styles entfernt .

<?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' kann eine Plugin-Abhängigkeit sein.

sglessard
quelle
Dies funktionierte für mich sogar zu einem anderen Thema. Habe es gerade in meinen Kinderthemafunktionen abgelegt ... Ich bin super, super glücklich darüber. Ich bin in China. Unerwünschte Google-Anrufe sind also keine kleine Optimierung. Meine Seiten hängen ein paar Minuten und warten darauf, dass Google nicht mehr funktioniert. Das ist riesig für mich :-D
Mike M
Oh, und ja, ich habe es in einem Plugin identifiziert (beim Testen wurde jeweils eines deaktiviert) == Jetpack ..... riesig und so sehr schwierig, etwas zu finden, geschweige denn zu modifizieren. Danke, WP
Mike M
4

In der functions.php von Twenty Twelve v1.1 erklärt ein Kommentar, wie man das Stylesheet aus dem wp_enqueue_scriptsHook entfernt:

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

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

Bei Ihrem Versuch, der nicht funktioniert hat, fehlt der Prioritätsparameter in der add_action(). Das übergeordnete Design stellt den Stil mit der Standardpriorität 10 in die Warteschlange, sodass das untergeordnete Design ihn mit der Priorität 11 aus der Warteschlange entfernen muss.

Rafi
quelle
3

Sie werden feststellen, dass WordPress selbst auch Open Sans lädt (mindestens Version 3.8). Tatsächlich wurde Open Sans für mich dreimal geladen: einmal für den WP-Administrator, einmal für den TinyMCE-Editor und einmal für die Seite.

Wenn Ihr Ziel darin besteht, Open Sans vollständig zu entfernen, müssen Sie WordPress selbst hacken (oder bei einer älteren Version bleiben).

Mein eigener Code zum Entfernen von Open Sans (zumindest, wenn ein Benutzer nicht angemeldet ist, was die meiste Zeit der Fall ist) ist der meines Themas functions.php:

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

Funktion ays_setup () {

    / * Keine Open Sans-Schriftart in TinyMCE * /
    remove_filter ('mce_css', 'twentytwelve_mce_css');

    / * keine Open Sans Schriftart für die Seite * /
    remove_action ('wp_enqueue_scripts', 'twentytwelve_scripts_styles');
    add_action ('wp_enqueue_scripts', 'ays_scripts_styles');
}

Funktion ays_scripts_styles () {
    global $ wp_styles;

    / *
     * Fügt Seiten mit dem zu unterstützenden Kommentarformular JavaScript hinzu
     * Websites mit Kommentaren zu Threads (bei Verwendung).
     * /
    if (is_singular () && comments_open () && get_option ('thread_comments'))
        wp_enqueue_script ('Kommentar-Antwort');

    // Fügt JavaScript für die Handhabung des Versteckverhaltens des Navigationsmenüs hinzu.
    wp_enqueue_script ('Twentytwelve-navigation', get_template_directory_uri (). '/js/navigation.js', array (), '1.0', true);

    // Lädt unser Haupt-Stylesheet.
    wp_enqueue_style ('Twentytwelve-style', get_stylesheet_uri ());

    // Lädt das Internet Explorer-spezifische Stylesheet.
    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_styleshat alles in twentytwelve_scripts_stylesaußer dem Bit, das Open Sans lädt.

Júlio Reis
quelle