Programmierung

WordPress: Stylesheets verändern oder ergänzen mit wp_enqueue_style und wp_dequeue_style

1 Minute Lesezeit

Dieser Beitrag ist von Juni 2014. Die Screenshots zeigen die Oberfläche von damals, heute sieht sie teils etwas anders aus.

WordPress LogoWer schon mal mit WordPress gearbeitet hat, weiß, dass es durchaus passieren kann, dass hinzugefügte PlugIns eigene Styles mit sich bringen und daher ggf. angepasst werden müssen. Natürlich ist es keine besonders gut Idee, die Styles direkt in dem PlugIn zu ändern, denn beim nächsten Update, sind die Anpassungen weg. Auch lassen sich die Styles oft nicht mit der style.css aus dem Root-Verzeichnis überschreiben, da die PlugIn-Styles durchaus später geladen werden.

So geht’s: wp_enqueue_style / wp_dequeue_style

# Der Code hier sollte in die functions.php eingetragen werden
# Sollte das Theme ein Child-Theme sein, und es gibt noch keine functions.php in 
# dem Child-Theme-Verzeichnis, dann genügt eine eigene functions.php in dem 
# Child-Theme Verzeichnis mit den Angaben hier unten (die neuen Anweisungen 
# und Funktionen ergänzen dann die functions.php des Parent-Themes)
#
# Hier wird verhindert, das "Problem_Stylesheet" zu laden
# 'plugin-style' ist der unique Identifier

function plugin_style_drop(){
  wp_dequeue_style( 'plugin-style' );
}

# Hier wird ein extra Stylesheet eingebunden
# Beispielsweise um die Stylesheet Informationen eines Formular-PlugIns zu überschreiben

function style_extension_scripts() {
  wp_enqueue_style( 'custom-plugin-style', get_template_directory_uri() . '/plugin-new-style.css' );
}

# Hier werden die Funktionen ausgeführt
# wp_print_scripts; diese Funktion stellt sicher, dass das zu 
# dequeuende Style auch geladen wurde, um es sicher zu entfernen
# Die Prio wird als drittes Argument in add_action hinzugefügt,
# der Wert kann individuell angepasst werden

add_action( 'wp_print_scripts', 'plugin_style_drop', 100 );
add_action( 'wp_enqueue_scripts', 'style_extension_scripts', 101 );

Veröffentlicht am 16. Juni 2014, zuletzt geändert am