Hisky Blog – verschiedene Header je nach Tages- bzw. Uhrzeit

Es hat mich nur einige Stunden und graue Haare gekostet, aber es klappt. Nachdem ich bei Cindy in der Blogwiese gelesen hatte, dass man den Header je nach Uhrzeit einstellen kann, wollte ich diese (natürlich sinnlose) Spielerei selbstverständlich auch haben 😳

Nur der Code den ich bekommen hatte, funktionierte bei meinem Theme nicht, da mein Header via css erzeugt wird. So sah der “einfache” Code aus, falls jemand das Bild direkt in der header.php nutzt und nicht mit CSS arbeitet:

<?php
function logo() {
$switchhour = date(“G”);
if ($switchhour <= 17 && $switchhour >= 7) {
echo “images/header.gif” ;
} else {
echo “images/headernight.gif” ;
}
}
?>

Also ging das Basteln los. Trotz WordPress-Forum und php-Forum kein Land in Sicht, bis ich einen Hinweis über tageszeitabhängige CSS styles fand, welche je nach Tageszeit geschaltet werden.

Das war der Knackpunkt. Ich habe jetzt zwei CSS Dateien hinterlegt, welche bis auf den Headerbackground identisch sind. Sprich in der cssday ist das Tagesbild hinterlegt, in der cssnight eben das Nachtbild. In der Header.php flog dafür diese Zeile aus:

<link rel=”stylesheet” type=”text/css” href=”<?php bloginfo(‘stylesheet_url’); ?>” />

und wurde durch diesen Schalter / Zeile ersetzt:

<?php
$switchhour = date(“G”);

if ($switchhour <= 18 && $switchhour >= 7) {
echo ‘<link rel=”stylesheet” type=”text/css” href=”DerPfadwodieDateiliegt/styleday.css” />’;
} else {
echo ‘<link rel=”stylesheet” type=”text/css” href=”DerPfadwodieDateiliegt/stylenight.css” />’;
}
?>

==>> Zwischen 7 und 18 Uhr wird das Tageslayout bzw. Headerbild danke der styleday geschaltet. Abends und Nachts natürlich Kitzingen bei Nacht. Einfach klasse :thumb: (okay, habs auf 8 Uhr verlegt, da es um 07.00 noch nicht mal dämmert *grummel*)

Nachtrag:
Leider wandelt WordPress meinen Code etwas ab. Aus Gänsefüsschen werden Apostrophe usw. – wer den Code will, am besten kurz direkt mailen.

Beitrag erstellt 2247

27 Gedanken zu „Hisky Blog – verschiedene Header je nach Tages- bzw. Uhrzeit

  1. So benutzt Du natürlich die Serverzeit. Ich wäre wahrscheinlich über Javascript gegangen um die Client-Zeit zu nutzen.
    Prinzipiell wären aber mehrere Header im css zu deklarieren. Dann im Template die mit php, ähnlich wie Du oben, nach … “Header2” usw. zu steuern.
    Für die js-Lösung wäre der div noch eine id zuzufügen und dann könnte man sogar zur Laufzeit der Seite umschalten. (mitlaufende Uhrzeit auf der Kirchturmuhr 🙂

    Grüße aus Kitzingen
    Roland

  2. Moin!

    Glaub ich hätte mir das Tüfteln sparen können und gleich den Richtigen fragen sollen 🙂

    Java hab ich absolut keinen Plan von :blink: …php verstehe ich wenigstens halbwegs.

    Ist nicht ganz perfekt aber ausreichend :thumb:

  3. Coole Sache! Ich habe mir auch schon überlegt, die Header nach Jahreszeit bzw. Ereignis (Sylvester, Weihnachten etc.) umzuschalten. Werde mal gucken was sich machen läßt :thumb:

  4. @biffo
    Was willst Du denn machen? Farbe wechseln?
    Wenn das ganze Farbthema gewechselt werden soll, dann doch einfacher verschiedene csse und hisky’s Lösung.

  5. Halloo erstmal,
    den Header an Silvester und Weihnachten automatisch dem “Event” anzupassen…daran habe ich komischer weise noch gar nicht gedacht. Danke für den Hinweis.:roll:
    Gruß
    schimmi

  6. Hehe. Immerhin hast Du es ja jetzt schon dem Wetter angepasst :thumb:

    Nun fehlt nur noch eine “Komplettlösung”, welche das Headerbild nach Wetter und Kalender bestimmt 😀

    Mir fehlen dazu nur irgendwie die passenden Header. Muss erstmal Fotos bei Nebel, Sonne, Regen, Schnee machen :blink:

  7. Also dank schimmi könnte ich jetzt bereits je nach Wetter verschiedene Header bzw. css Dateien laden lassen.

    Events wäre sicher auch noch lustig. Nur soviele gibt es ja nicht. Weihnachten, Silvester. Ende :pfeif: 😉

  8. Stimmt. Das sind aber schon Jahreszeiten :mrgreen:
    Schätze das kann man mit einem Kalenderplugin kombinieren.

    Problem: Man müsste am Jahresanfang selbst festlegen, wann was stattfindet. Und zumindest Fasching und Ostern sind ja nicht jedes Jahr an den selben Tagen glaub ich ❓

  9. Huhu,

    also ich bekomme eine Fehlermeldung, wenn ich das so einbauen möchte 😥
    Zum kommentiert das snippet sich sozusagen selber aus, wenn ich den direkten Pfad zur css Datei angebe (nämlich wenn http:// anfängt). Und wenn ich dann, weil die css Datei ja im Themordner ist, versuche nur den Dateinamen anzugeben, bekomme ich bei Aufruf der Seite folgendes:

    Parse error: parse error, expecting `’,” or `’;” in C:\xampp\htdocs\wp\wp-content\themes\gossipcity\header.php on line 18

    Ich teste das alles erst lokal… und habe von php nicht wirklich Ahnung… was mache ich falsch?

  10. Die Idee ist super!
    Ich werde es wenn ich Zeit habe mal versuchen umzusetzten mit mein geringen Php-Kenntnissen 😳
    Auf der Blogwiese hatte ich´s zuerst gesehen bzw. gelesen und bin nun hier gelandet.

  11. Gel. Eine nette Spielerei finde ich.
    Kannst Dich ja melden, wenn es nicht klappt. Wobei der Einbau sehr simpel ist – auch ohne PHP Kenntnisse.

  12. Danke!

    Ich hab auch gleich ein Problem. 😳
    Den Code hab ich so über nommen wie beschreiben, aber er mag in nicht.
    Ich bekomme ´ne Fehlermeldung:
    Parse error: syntax error, unexpected T_STRING, expecting ‘,’ or ‘;’ in /var/www/webxxxx/html/wordpress/wp-content/themes/trendy/header.php on line 33
    Das Probem ist mein Pfad, aber ich kann den Fehler nicht finden 🙁
    Zu Hülf Büdde! 🙂

  13. Komisch. Kannst Du mir die Datei mal mailen? Eventuell macht er aus dem Code hier im Blog einen anderen Schrifttyp – und aus einem ` wird ein ‘ oder so ähnlich.

  14. super idee wollte es machen bekomme aber die gleiche fehlermeldung Parse error: syntax error, unexpected T_STRING, expecting ‘,’ or ‘;’ in /var/www/web1032/html/wp/wp-content/themes/angel79.de/header.php on line 15

  15. juhuuu es geht bei mir lag da der fehler
    hinter dem css”type=”text/css” media=”screen” />’;
    so musste ich es einfügen dann ging es

  16. werde ich machen :schein: 😀 nur leider hat es sich bei mir nicht umgestellt jetzt geht es soweit aber das bild ändert sich nicht muss es manuell machen snief

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Verwandte Beiträge

Beginne damit, deinen Suchbegriff oben einzugeben und drücke Enter für die Suche. Drücke ESC, um abzubrechen.

Zurück nach oben