Datumsanzeige in WordPress

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 Gedanken zu „Datumsanzeige in WordPress“

  1. 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

  2. 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.

Schreibe einen Kommentar

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