Ich habe festgestellt, dass ich von Contao sehr verwöhnt werde, was das Hinzufügen von Daten im head-Bereich betrifft (z.B. Verlinkungen auf CSS– oder JavaScript-Dateien, eigene Metadaten…). In WordPress gibt es für das einfache Problem des Hinzufügens einer einzigen eigenen CSS-Klassendefinition mehrere meiner Meinung nach unbequeme Möglichkeiten:

  1. CSS Datei des Themes bearbeiten (wird beim Update überschrieben).
  2. Child Theme anlegen (zu viel Aufwand für eine einzige CSS-Klasse).
  3. Eines der vielen Plugins installieren, das irgendwie unter anderem diese Funktionalität anbietet (noch ein Plugin?).
  4. Das Theme unterstützt das Hinzufügen von HTML im head-Bereich oder eigener Stylesheets (setzt voraus, dass man ein solches Theme benutzt).

Bleibt es doch bei der Verwendung eines eigenen Plugins für diese Aufgabe. Das hört sich im ersten Augenblick sehr überdimensioniert an, aber nachdem ich die Hemmschwelle einmal überwunden habe, habe ich anschließend gleich noch mehrere Plugins rausgeschmissen und deren Funktionalität (die im wesentlichen das Hinzufügen von Daten umfasst) durch wenige Codezeilen in diesem eigenen Plugin ersetzt. Im Vergleich zu den oben genannten Möglichkeiten, ist dies also auch die flexibelste.

Eigenes WordPress Plugin für CSS und JavaScript Dateien

Im Wesentlichen besteht das WordPress Plugin aus vier Bereichen:

  1. Metadaten, die von WordPress im Administrationsbereich für Plugins angezeigt werden.
  2. Check ob PHP-Datei im Kontext von WordPress ausgeführt wird.
  3. Registrierung von eigenen Funktionen über Hooks.
  4. Eigene Funktionen zum Hinzufügen der Dateien.

Beispielcode für Plugin zum Hinzufügen eigener CSS– und Javascript-Dateien

Wird von der neuen WordPress Version ständig wieder gelöscht… ist aber als Anhang beigefügt.

Das Plugin ist aus Sicht eines WordPress Entwicklers bei Weitem noch nicht perfekt, da z.B. keine Sprachdateien verwendet werden, es keine Einstellungsmöglichkeiten im Administrationsbereich gibt und es sicherlich irgendwo gegen eine Verwendungs-, Code- oder Designrichtlinie verstößt. Aber da es als einfache Grundlage für eigene Anpassungen in WordPress dienen und nicht als DAU-tauglich im Plugin Repository von WordPress landen soll, sollte das genügen.

Hier noch das Beispiel als komplettes Plugin als Zip Datei: Plugin addfiles.

Zip entpacken und Ordner addfiles in WordPressInstallation/Content-Folder/plugins/ verschieben, wobei Content-Folder im Normallfall wp-content ist.

Natürlich ließe sich das Plugin auch noch etwas vereinfachen, oder beliebig verkomplizieren und erweitern, aber es ging ja ursprünglich nur darum eine eigene CSS-Datei zu verwenden.