Support » Allgemeine Fragen » Wie lässt sich eine CSS Datei einer externen Seite entfernen?

  • Gelöst ebody

    (@ebody)


    Hallo,

    ich verwende Elementor und das oceanwp Theme. Im Customizer habe ich ein Google Font als Standardschrift gewählt. Diese möchte ich aber einbetten und nicht über https://fonts.googleapis.com… laden.

    Daher habe ich die Schrift auf meinen Server geladen und in meine CSS Datei gepackt. (In Elementor pro kann man eigene Schriften einbetten, die pro Version habe ich aber nicht).

    Über die functions.php im Child-Theme entferne ich verschiedene CSS und JS Dateien, die ich aktuell nicht benötige.

    add_action( 'wp_enqueue_scripts', 'wps_deregister_styles', 100 );
        function wps_deregister_styles() {
            // CSS Dateien entfernen
            wp_dequeue_style( 'wp-block-library' ); // Gutenberg
            wp_dequeue_style( 'wp-block-library-theme' ); 
            wp_dequeue_style( 'simple-line-icons' ); // Icons die ich nicht verwende
            wp_dequeue_style( 'magnific-popup' ); // Lightbox die ich nicht verwende
            wp_dequeue_style( 'slick' ); // Slider den ich nicht verwende
    
            wp_dequeue_style( 'oceanwp-google-font-montserrat' );   
            wp_dequeue_style( 'google-fonts-1' );               
            wp_deregister_style( 'google-fonts-1' );   
            
            // JS Dateien entfernen
            wp_dequeue_script('magnific-popup');
            wp_dequeue_script('oceanwp-lightbox');
    }

    Funktioniert alles, nur „google-fonts-1“ ist weiter im <head> zu finden. Die ID sollte stimmen: <link rel="stylesheet" id="google-fonts-1-css" href="https://fonts.googleapis.com/css?family

    Warum wird das Tag nicht entfernt?

    Gruße
    ebody

Ansicht von 2 Antworten - 1 bis 2 (von insgesamt 2)
  • Mach doch mal folgendes:
    Lad das Theme OceanWP herunter und öffne es mit einem Programmiereditor. Suche in den Dateien übergreifen nach der Zeichenkette „google-font“. Die Zeichenkette findest du dann in der Datei inc/customizer/typography/webfonts.php in der Funktion oceanwp_enqueue_google_font(). Diese Funktion schaust du dir in Ruhe an und freust dich, dass du ganz am Anfang

    if ( true == get_theme_mod( 'ocean_disable_google_font', false ) ) {
    		return;
    	}

    findest. Umgangssprachlich ausgedrückt heißt das: wird im Customizer eine Option gesetzt die das Laden von Google-Fonts unterdrückt, bricht das Programm ab, ohne das Stylesheet für den Font zu laden.

    Schauen wir nach: Design > Customizer > Typographie > Allgemein: Häkchen bei Kästchen „Google-Schriften deaktivieren“ und schon werden vom Theme keine Google-Fonts mehr eingebunden. Ganz ohne Code.

    Da Comic Sans komisch aussieht und Times New Roman und Arial vielleicht auf die Dauer etwas langweilig sind, würde ich aber ungern auf die schönen Schriftarten verzichten. Sie wegen der DSGVO vom eigenen Server zu laden ist auch kein Kunststück. Es reicht, wenn du das Plugin Self-hosted Google-Fonts installierst und aktivierst. 🙂

    Vielen Dank! Ich habe die Checkbox im Customizer aktiviert. Damit war diese Zeile in der functions.php überflüssig:

    
    add_action( 'wp_enqueue_scripts', 'wps_deregister_styles', 100 );
    function wps_deregister_styles() {
      wp_dequeue_style( 'oceanwp-google-font-montserrat' );   
    }

    Ich musste noch diesen Code anwenden, damit auch dieser Link Metatag verschwindet, der auf eine externe Domain verweist:
    <link rel="stylesheet" id="google-fonts-1-css" href="https://fonts.googleapis.com/css?family=...>

    add_action( 'wp_print_styles', 'remove_google_fonts');
      function remove_google_fonts() {
       wp_dequeue_style( 'google-fonts-1' );   
      }
Ansicht von 2 Antworten - 1 bis 2 (von insgesamt 2)