WeizenSpr.eu



« | »

[Update] WordPress Header-Image abhängig von Uhrzeit

Wie schon in einem früheren Artikel beschrieben, ist es (zumindest im Kubrick-Theme) relativ einfach möglich, das Header-Bild mit Hilfe von ein bissel PHP-Scripting dynamischer zu gestalten - in meinem Fall wird derzeit z.B. zufällig zwischem dem deutschen und dem englischen Slogan gewechselt ;) .

Nun kam bei jemandem die Idee auf, das Header-Bild in Abhängigkeit von der Uhrzeit zu wechseln - eine schöne kleine Fingerübung, wie ich fand :D . Deswegen habe ich schnell etwas zusammen-geschrieben - ist wirklich nicht viel, nur ein assoziatives Array in Verbindung mit der date()-Funktion von PHP:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
  $headerimg = "./kubrickheader.jpg"; // default header image

  // defines which header image is to be shown at which hour
  // REPLACE GIVEN IMAGE PATHS WITH YOUR IMAGE PATHS
  $headerarray = array("00" => "./headerimg00.jpg",
                       "01" => "./headerimg01.jpg",
                       "02" => "./headerimg02.jpg",
                       "03" => "./headerimg03.jpg",
                       "04" => "./headerimg04.jpg",
                       "05" => "./headerimg05.jpg",
                       "06" => "./headerimg06.jpg",
                       "07" => "./headerimg07.jpg",
                       "08" => "./headerimg08.jpg",
                       "09" => "./headerimg09.jpg",
                       "10" => "./headerimg10.jpg",
                       "11" => "./headerimg11.jpg",
                       "12" => "./headerimg12.jpg",
                       "13" => "./headerimg13.jpg",
                       "14" => "./headerimg14.jpg",
                       "15" => "./headerimg15.jpg",
                       "16" => "./headerimg16.jpg",
                       "17" => "./headerimg17.jpg",
                       "18" => "./headerimg18.jpg",
                       "19" => "./headerimg19.jpg",
                       "20" => "./headerimg20.jpg",
                       "21" => "./headerimg21.jpg",
                       "22" => "./headerimg22.jpg",
                       "23" => "./headerimg23.jpg");

  $currentHour = date("H"); // return hour with leading zero

  // if file does not exist: keep default header image
  if (file_exists($headerarray[$currentHour]))
  {
    $headerimg = $headerarray[$currentHour];
  }

  // write header
  header("Location: " . $headerimg);
  header("Content-Type: image/jpeg");

Der Quelltext ist so einzubinden, wie auch schon im verlinkten Artikel beschrieben - durch das kleine Script kann man bestimmen, in welcher Stunde welches Bild angezeigt werden soll. Mit ein bissel Arbeit kann man das ganze natürlich auch granularer gestalten - bis hin zur Definition von Feiertagen, etc.

Für den Anfang sollte es jedenfalls reichen :) .

Und nicht vergessen: Ich hafte nicht für Schäden an Software, Hardware oder für Vermögensschäden, die durch Anwendung dieser Änderungen entstanden sind oder entstehen könnten. ;-)

Update:
Leider muss ich eine kleine Korrektur weitergeben: das ganze muss natürlich date("H"); heißen und nicht date("G"); - zweiteres gibt die Stunde nämlich ohne führende Null zurück :D !

Stündliche Grüße, Kenny

Posted by on 3. März 2009.

Categories: Allgemein, Computer, Entwicklung, Update, Weizen, Wordpress

5 Responses

  1. Zum Update: Bei mir hat es aber auch mit dem "G" funktioniert... nunja, habs mal geändert. :-) So langsam geht die Sonne auf :-)

    by Viermalbe on Mrz 4, 2009 at 09:40

  2. Ja klar! Gestern Nachmittag hat es mit dem G funktioniert - da war die Stundenzahl ja auch zweistellig - als ich heute Nacht um 2 zu Besuch war, wurde halt der blaue Himmel angezeigt ;) .

    by Kenny on Mrz 4, 2009 at 09:50

  3. Meiner Meinung viel zu kompliziert. Viel zu viel Schreibaufwand; und dafür nen Array zu nehmen ist auch mehr als umständlich.

    Da du eh auf existierndes Bild hin prüfst, wieso prüfst du nicht gleich:

    $timedHeaderImage = './headerimg'.date("H").'.jpg';

    if (file_exists($timedHeaderImage)
    {
    $headerimg = $timedHeaderImage;
    }

    by WhiteSh4rk on Mrz 31, 2009 at 00:04

  4. Danke für den konstruktiven Kommentar - ist mit deiner Variante in der Tat wesentlich kürzer :D !
    Setzt jedoch voraus, dass man für jede Stunde wirklich ein Bild auf dem Server liegen hat ;) .

    by Kenny on Mrz 31, 2009 at 09:57

  5. [...] http://weizenspr.eu/2009/wordpress-header-image-abhangig-von-uhrzeit/ [...]

    by Random Header Image für Wordpress | http://yks.org/ on Jul 17, 2009 at 12:04

Leave a Reply

« | »




Letzte Artikel


Seiten