Sämtliche enqueues (unter anderem auch der Handler font-awesome
) waren mit der Prioriät von 20 eingebunden wurden, mit der AnmerkungInclude later to be able to make wp_dequeue_style|script()
. Dieselbe Priorität zu verwenden half nicht, auch nicht eine andere.font-awesome.css
blieb beharrlich in der Liste der geladenen Dateien (bei Firefox ist es angeraten den Cache zu löschen um sicherzugehen dass man nicht sieht, was gar nicht mehr da ist).
function childtheme_remove_font() {
wp_dequeue_style( 'font-awesome' );
}
add_action( 'wp_print_scripts', 'childtheme_remove_font', 20 );
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: "";
font-family: 'inherit';
}
Schreibe einen Kommentar