Kunden und Leser | WP-Themes

Wie kann ich Font Awesome von meinem WordPress Parent-Theme loswerden?

graffiti 2023845 1920

Laut WordPress Codex wurde nach meinem Dafürhalten alles richtig gemacht. Auch nach Änderungen der Priority (niedriger und höher) war font-awesome nicht loszuwerden, auch nicht über wp_print_styles.

function childtheme_remove_font() {
   wp_dequeue_style( 'font-awesome' );
}
add_action( 'wp_print_scripts', 'childtheme_remove_font', 100 );

Interessant an der vom Parent-Theme vorgelegten Einbindung war, dass sämtliche enqueues (unter anderem auch der Handler font-awesome) mit der Prioriät von 20 eingebunden wurden, mit der AnmerkdungInclude later to be able to make wp_dequeue_style|script(). Es half auch nicht, die Priorität dort zu ändern oder wegzulassen. font-awesome.css blieb beharrlich in der Liste der geladenen Dateien (beim neuen Firefox ist es angeraten den Cache zu löschen um sicherzugehen dass man nicht sieht, was gar nicht mehr da ist).

Um andere Quellen auszuschließen, griff ich zu einer globalen Maßnahme.

function webe_remove_fontawesome() {

	global $wp_styles;

	$patterns = array(
		'fontawesome',
		'font-awesome'
	);

	$regex = '/(' .implode('|', $patterns) .')/i';

	foreach ( $wp_styles -> registered as $registered ) {

		if ( preg_match( $regex, $registered->src ) ) {
			wp_dequeue_style( $registered->handle );
		}

	}

}

add_action( 'wp print styles', 'webe_remove_fontawesome', 100 );

Keine Wirkung. Der unerwünschte Font wurde weiterhin geladen.

add_action( 'wp_enqueue_scripts', 'webe_remove_fontawesome', 100 );

Machte dem erst ein Ende. Die Funktion ist auch geeignet, mehrfach geladenen CSS-Dateien für Font Awesome zu entfernen (durch unterschiedliche Handler-Bezeichnungen), und am Ende eine eigene Instanz zu laden.

Andernfalls muss ggf. CSS modifiziert werden.

.icon-element::before {
    content: "\f002";
    font-family: 'FontAwesome';
}

/* wird */

.icon-element::before {
    content: "";
}

weiter schmökern

Schreibe einen Kommentar

Bitte Kommentarfunktion nicht für Supportanfragen nutzen. Dem kann hier nicht entsprochen werden.

Deine E-Mail-Adresse wird nicht veröffentlicht.