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