In der letzten Zeit wurde ich oft angefragt, wie ein zufälliges Header Bild denn in WordPress am einfachsten zu realisieren sei (analog zum aktuellen Theme dieser Seite). Zuerst wollte ich diese Gelegenheit nutzen um ein entsprechendes Plugin selbst zu schreiben, musste aber relativ schnell feststellen, dass es bereits solche Plugins gibt bzw. mit einer relativ einfachen Erweiterung, die Dateien des Themes ergänzt werden könnten. Deshalb werde ich im folgenden Abschnitt auch “nur” auf einige Lösungen eingehen.
Header Image Rotator WordPress Plugin:
Dieses Plugin scheint den gesteckten Anforderungen gerecht zu werden. Das Plugin gibt es in einer kostenlosen BASIC und in einer sehr billigen PRO Version (ich finde 2 US$ kann jeder für eine solches Plugin aufwerfen und ist auch der gerechte Lohn für jegliche freiwillige Arbeit). Mit der BASIC Version sind einige Features limitiert, so lassen sich zum Beispiel nur fünf Bilder hinzufügen. Ebenfalls scheint in der PRO Version die Installation und das Einrichten des Plugins wesentlich einfacher zu sein. Was ich bisher gesehen habe, überzeugt mich dieses Plugin und entspricht exakt dem Erwarteten. Die Plugin Homepage findet Ihr hier!
PHP Skript als Bildersatz
Eine andere gar extern einsetzbare Lösung, wäre das Verwenden eines PHP Skripts, welches beim Aufruf ein zufälliges Bild zurückgibt. Ein solches PHP Skript sucht in einem bestimmten Verzeichnis nach Bilddateien und wählt eines zufällig aus. Statt auf ein bestimmtes Bild zu verweisen oder mit PHP Code direkt ein Bild einzutragen, wird im img-Tag direkt das entsprechende PHP Skript angegeben.
1 2 3 4 5 6 7 8 9 10 11 | <?php // Searchs all *.jpg files in the subdirectory images // relative to the this files folder $folder = 'images/'; $files = glob($folder.'*.jpg'); // Select one of these files mt_srand((double)microtime()*1000000); // seed for PHP smaller than 4.2 $file = $files[mt_rand(0,count($files)-1)]; // And change the header location data to the image header('Location: '$folder.$file); // That's it ?> |
Dieser Code muss dann in eine Datei mit der Endung PHP kopiert (Bsp. “rotator.php”) werden und in ein Verzeichnis hochgeladen werden. Im Unterververzeichnis “images” kommen dann die Bilder zu liegen. Diese müssen natürlich ebenfalls entsprechend hochgeladen werden. Jetzt noch im HTML Code des Templates die statische URL des Bildes mit dem PHP Skript ersetzen:
1 | <img src="http://url-zum-skript/rotator.php" alt="" /> |
Und schon sollte das ganze ohne Probleme laufen. Eine weitere Anleitung zu diesem Verfahren kann hier gefunden werden!
PHP Code direkt in den Template Dateien
Eine weitere Möglichkeit ist die Eingabe von etwas PHP Code direkt im Template an geeigneter Stelle. Das Skript für diese Variante ist sehr ähnlich wie oben. Ein Teil dieses PHP Skripts wird jedoch in ein dynamisches CSS Stylesheet oder direkt ins header.php eingefügt. Und sähe dann (im Fall des header.php) wie folgt aus:
1 2 3 4 5 6 7 8 9 10 | <?php // Searchs all *.jpg files in the subdirectory images // relative to the this files folder $folder = 'images/'; $files = glob($folder.'*.jpg'); // Select one of these files mt_srand((double)microtime()*1000000); // seed for PHP smaller than 4.2 $file = $files[mt_rand(0,count($files)-1)]; ?> <img src="<?php echo $folder.$file; ?>" alt="" /> |
Diese Variante erfordert allerdings etwas mehr PHP Kenntnisse als die vorangegangenen.
Ich hoffe mit diesen Beispielen etwas Licht hinter die dunkle Seite meines wechselnden Blogsheaders gebracht zu haben. Ich habe die letzte Variante verwendet, hätte aber damals garantiert die erste verwendet, falls diese bereits existiert hätte.

