Wechselnde Ansichten

Da es nun endlich funktioniert und Marco wissen wollte wie es geht, hier mal kurz eine Anleitung, wie man die Bilder oben im Headerbereich ganz einfach rotieren lassen kann. Die Lösung ist pluginfrei, erfordert allerdings beim Upload neuer Bilder auch eine kurze Änderung im Script. So sieht das dann aus:

<img src="<?php bloginfo('template_directory'); ?>
    /header_img/panorama-<?php echo (rand(1,29)); ?>.jpg"
    width="100%" height="150" alt="Altmetall - Schrottie und die
    große weite Welt..." />

Dabei macht sich die Sache ganz einfach die Funktion rand() zu Nutze. Hier im Beispiel wird damit eine Zufallszahl von 1 bis 29 erzeugt, die Grafiken heißen dazu dann einfach „panorama-1“ bis „panorama-29“ und so wird halt jedesmal eine andere Grafik oben angezeigt. Wichtig ist nur, das man den Cache fürs Blog deaktiviert. Ich verwende hier WP Super Cache, da habe ich dann das cachen für die Startseite und für die Artikelseiten deaktiviert (wie vorher auch schon) da es hier öfter zu Änderungen kommt, bei allen anderen Seiten (Kategorieansichten, Seiten, etc.) spielt das wechselnde Bild kaum eine Rolle und so kann hier weiter fröhlich zwischengespeichert werden.

Ursprünglich hatte ich ein seperates Script fertiggemacht, das standalone funktionierte, aber bei Einbindung in das Template nur Fehler auswarf. So sah das dann aus:

<?php
     $folder = "header_img/";
     $images = array();
     $file_handle = opendir($folder);
     $x = 0;
          while ($file = readdir($file_handle)) {
               if($file == '.' || $file == '..') { continue; }
               if(is_dir($ordner.$file)) { continue; }
               $images[$x] = $folder . $file;
               $x += 1;
          }
     closedir($file_handle);
function ShowRandomPic() {
     global $images;
          if (count($images) > 0) {
               srand((double)microtime()*1000000);
               $rnd_img = rand(0,(count($images) - 1));
               return $rnd_img;
          }
     }
echo "<img src='https://blog.dafb-o.de/wp-content/themes/altmetall/";
echo $images[ShowRandomPic()];
echo "' width='100%' height='150' alt='Altmetall - Schrottie und die
    große weite Welt...' />";
?>

Vielleicht kann das ja noch jemand gebrauchen um es anderswo zu verwursten. 🙂

Nachtrag: Manchmal ist man ja auch wirklich selten dämlich. Da verwende ich schon seit Ewigkeiten ein Script das ich mal im Internet aufgetrieben habe um die Grafiken für den RSS-Feedlink zu rotieren, und hier breche ich mir einen ab um eine Lösung zu finden. Nun denn, jetzt habe ich alles auf das Script umgestellt, dann muß nämlich nichts mehr geändert werden wenn mal ein paar Bilder dazukommen und der Dateiname der Bilder spielt auch keine Rolle.

Schrottie

Ich blogge hier seit Anfang 2005 über wechselnde Themen. Zumeist handelt es sich dabei um Linux, Android, Geocaching oder Fotografie, aber zunehmend auch rund ums Fahrradfahren (mit MTB und Rennrad), das ich nach einigen Jahren Pause wieder für mich entdeckt habe. Dabei ist die Themenwahl insgesamt recht selektiv, also ich schreibe immer nur dann, wenn mich etwas wirklich interessiert und/oder bewegt und so kommt es dann auch, das man hier zuweilen auch private Dinge findet. Wer mir für die Arbeit ein kleines Dankeschön zukommen lassen möchte, der kann dies gern über meinen Amazon Wunschzettel tun. :-)

10 thoughts to “Wechselnde Ansichten”

  1. Oh, das rotator-Script habe ich auch noch irgendwo rumliegen 😉 Wenn ich irgendwann wieder ein Theme für ein ganzes Jahr erstellt habe (und auch verwende), könnte ich das ja auch mal wieder einbauen. Aber zuerst brauche ich genügend geeignete eigene Fotos 🙂

  2. Naja, zumindest die Lösung mit dem Rotator-Script ist doch ganz simpel. Script kopieren (einfach nemen wie es ist und nur die Endung von phpx auf php ändern, das x ist nötig damit der Server hier das Ding nicht interpretiert sondern as is anzeigt), in das Bildverzeichnis werfen und dann eben im IMG-Tag anstelle einer Bilddatei das Script referenzieren. :happy:

  3. Hallo,
    ich muss dir leider mitteilen, dass irgendwas noch nicht geht am neuen Layout…. mein Monitor ist relativ schmal und da kann ich die artikel (zumindest den hier, die anderen hatte ich nohc nicht) nicht wirklich gut lesen, weil die rechte sidebar mit den letzten Kommentaren ect. direkt über dem Artikel liegt.. kann also die letzten 3cm vom Text nicht lesen. Wollte ich dir nur mal mitteilen, vllt haben noch andere das Problem.
    Ansonsten neues Layout gewöhnungsbedürftig, aber schön.

  4. in das Bildverzeichnis werfen und dann eben im IMG-Tag anstelle einer Bilddatei das Script referenzieren.
    Kannst du das näher erläutern? 😮

  5. Ganz einfach, normalerweise fügt man ein Bild ja mittels <img src=“bild.jpg“ /> ein, in diesem Falle eben einfach mit <img src=“script.php“ />, wobei das Script eben direkt im Verzeichnis der Bilder liegt.

Kommentare sind geschlossen.