Datumsanzeige in WordPress

Schlagwörter:, , | Blog | Geschrieben von Nadja | 7 Kommentare
Sep 06 05

Eine Kleinigkeit, die mir selbst während des Redesigns aufgefallen ist, betrifft die Ausgabe des Datums eines Posts. Ich wollte das Datum als kleines Kalenderblatt darstellen, also Monat und Jahr in verkürzter Form im oberen Teil und den Tag im unteren Teil des Kalenderblattes. Allerdings hatte ich kleine Probleme, die ich erst nach Durchstöbern des WordPress-Codex und natürlich mit tuccens Hilfe gelöst hatte.

Für die Ausgabe des Datums wird bei WordPress standardmäßig the_date() verwendet, das mit verschiedenen Parametern gesteuert werden kann:

<?php the_date('format', 'before', 'after', echo); ?>

Wenn man the_date() ohne weitere Parameter benutzt, wird das Datum in dem Format angezeigt, wie es unter den Einstellungen angeben wurde, bei uns also j. F Y für 1. Januar 2006. Nun kann man innerhalb der Parameter keine HTML-Tags verwenden, um später das Kalenderdesign umzusetzen. Daher haben wir 2 Aufrufe gestartet, die man bspw. in span-Tags packen kann:

<span class="date">
	<?=the_time('M y', '', '')?>
	<span class="day"><?=the_time('d')?></span>
</span>

Zuerst rufen wir per the_time() Monat und Jahr ab und dann noch einmal mit der gleichen Funktion den Tag.

Eine Besonderheit bei WordPress: Wenn mehrere Posts am GLEICHEN TAG veröffentlicht wurden, zeigt the_date() das Datum lediglich für den ersten Eintrag an. Um das Datum für andere Posts vom gleichen Tag anzuzeigen, müssen wir also the_time() verwenden.

Per CSS definieren wir das Aussehen:

.date {
  float: left;
  margin: 0.5em 1em 0.5em 0;
  width: 40px;
  text-align: center;
  background-color: #EEE;
  color: #272727;
  font: 0.9em Geneva, Verdana, sans-serif;
}
.date .day {
  display: block;
  font-size: 2em;
  font-weight: bold;
  padding: 0 0.3em;
  margin-top: 5px;
  border-top: 1px solid #404040;
  background: #53A3FD;
  color: #EEE;
}

Und fertig ist unsere Datumsanzeige im Look eines Kalenderblattes.


« »

7 Kommentare

Kommentieren | Diskussion verfolgen | Trackback URI
  1. Gravatar des Kommentierenden 1. am 20.09.06 um 16:33 von panschi |

    hey, danke für die gute erklärung. genau solch einen tipp hab ich gesucht! werds gleich mal bei einem projekt ausprobieren.

  2. Gravatar des Kommentierenden 2. am 08.06.07 um 11:41 von Peer Wandiger - Selbständig im Netz |

    Danke für diese tolle Anpassung. Ich habe es auf meinem Blog umgesetzt und um eine Hintergrund-Grafik ergänzt. Sieht schick aus.
    Danke noch mal.

  3. Gravatar des Kommentierenden 3. am 09.07.07 um 10:35 von Florian |

    Hey danke für die Anleitung. Hat mir etwas fummelarbeit erspart ^^…habs direkt mal eingebaut.

    lg

    Florian

  4. Gravatar des Kommentierenden 4. am 07.12.07 um 22:16 von Christian |

    Vielen Dank dafür! Habs gleich eingabeut und es funktioniert perfekt!

  5. Gravatar des Kommentierenden 5. am 04.11.08 um 22:43 von Franz |

    Hallo,

    Bitte, brauche dringend Hilfe, probiere schon seit Stunden (!) in einem bestehenden Thema das Datum/Kalenderblatt einzufügen, aber ich bringe die Formatierung nicht hin. Das Datum ist vorhanden (die /span Sektion in index.php eingebaut). Jedoch der Eintrag in style.css scheint bei mir nicht zu funktionieren.
    Muß ich da irgend etwas beachten (Platz, Syntax? – bin ein Newbie bei CSS & PHP).
    Es wäre toll wenn Du mir helfen könntest.
    mfg
    Franz

  6. Gravatar des Kommentierenden 6. am 05.11.08 um 10:36 von Nadja |

    Gibt es irgendwo in deinem Theme noch eine weitere Angabe zu .date und .day? Manche Themes haben schon eine Datumsformatierung. Andernfalls kannst du versuchen, die Anweisungen mit !important zu erzwingen.

    Oder aber deine style.css hat Fehler, dann werden auf den Fehler folgende Anweisungen nciht richtig umgesetzt. Validiere dein Stylesheet mal mit einem Validator.

  7. Gravatar des Kommentierenden 7. am 05.11.08 um 14:01 von Franz |

    Danke, jetzt hat’s funktioniert – bin einfach in der index.php eine Zeile (Befehl) nach oben gegangen …



Sag deine Meinung

Du kannst diese HTML-Tags benutzen:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

* Diese Felder müssen ausgefüllt werden.




Safari hates me