WordPress: wp_enqueue_style

Mit wp_enqueue_style lässt sich relativ einfach ein Stylesheet einbinden. Das besondere hierbei ist, dass ein Stylesheet genau einmal eingefügt wird. Dies beugt vor, dass dasselbe Stylesheet mehrere Male geladen wird.

Aufbau:

[siehe auch: WP Codex (engl.)]

<code><?php wp_enqueue_style( $handle, $src, $deps, $ver, $media ) ?></code>
  • $handle ist ein String und gibt den Namen des Stylesheets wieder. Beispiel: ‘print’
    Ein Name muss angegeben werden.

  • $src ist die URL vom Hauptverzeichnis ausgehend. Beispiel: ‘/wp-content/themes/my_theme/print.css’
    Keine Angabe notwenig. Default-Wert: false

  • $deps ist ein array() was Abhängigkeiten mit anderen Stylesheets betont. Beispiel: array(‘print’, ‘style’)
    Es ist keine Angabe notwendig. Falls man jedoch eine macht, sollte klar sein, dass das Stylesheet vorher auch mithilfe von wp_enqueue_style geladen wird. Im Beispiel würde das bedeuten: Wenn print.css und style.css geladen sind, wird dieses Stylesheet auch geladen

  • $ver ist die String-Angabe einer Version. Beispiel: ’1.0′
    Keine Angabe notwendig, Default-Wert: false.

  • $mediaString für das Ausgabemedium. Beispiel: ‘print’
    Keine Angabe notwendig, Default-Wert: false

Anwendung

Manchmal ist es sinnvoll, ein Stylesheet nur für bestimmte Seiten zu laden. Will man beispielsweise auf allen Seiten und immer dann wenn Kommentare erlaubt sind, dass ein Stylesheet namens “forms.css”eingebunden wird, so könnte man folgendes tun:

<code>
if (comments_open() ) {
        wp_enqueue_style('forms', '/wp-content/themes/wp_theme/forms.css', array() , false , 'screen' );
}
if (is_page() ) {
        wp_enqueue_style('forms', '/wp-content/themes/wp_theme/forms.css', array() , false , 'screen' );
}
</code>

Nun könnte ja auf einer Seite (is_page) auch die Kommentarfunktion erlaubt sein (comments_open), dann wird die forms.css allerdings nicht zweimal geladen – was ja unnötig wäre – sondern genau einmal.

Kommentieren