Viele, wenn nicht sogar die meisten, WordPress-Themes zeigen bei den Beiträgen das Datum der Veröffentlichung an. Man kann natürlich auch einen anderen Weg gehen – anzeigen vor wie vielen Tagen der Beitrag veröffentlicht wurde, oder auch eine Kombination von beidem.
Wie man dies sehr einfach in sein Theme integrieren kann, werde ich in diesem Artikel beschreiben.
Das Grundprinzip ist dabei sehr simple: Umgerechnet auf Tage ziehen wir die Zeit der Veröffentlichung von der aktuellen Zeit ab und schon erhalten wir die Anzahl der Tage, wie lange die Veröffentlichung des Beitrages schon her ist.
Das Ganze etwas umgemünzt auf PHP ist mit ein paar Zeilen Code erledigt. Dabei machen wir uns folgende Funktionen zu nutze:
time()
– ab PHP 4get_the_time()
– ab WordPress 1.5number_format()
– ab PHP 4
Mit time()
lesen wir den aktuellen Zeitstempel aus, mit get_the_time()
den Zeitstempel der Beitragsveröffentlichung und number_format()
nutzen wir, damit wir eine ganze Zahl ohne Kommastellen erhalten. Als Zeitstempel ( U ) bezeichnet man im übrigen die Zeit in Sekunden, die seit dem Beginn der UNIX-Epoche ( 1.1.1970 00:00:00 ) vergangen ist. Bei time()
wird automatisch der Zeitstempel ausgelesen, bei get_the_time()
fügen wir innerhalb der Klammer das Formatzeichen für den Zeitstempel U hinzu. Mehr zu den verschiedenen Formatzeichen können sie hier nachlesen.
Aber nun zur PHP-Funktion:
// Aktueller Zeitstempel - Zeitstempel der Veröffentlichung / Sekunden pro Tag (60*60*24) $old_days = ( ( time() - get_the_time( 'U' ) ) / 86400 ); // Nachkommastellen entfernen $old_days = number_format( $old_days, 0 ); // Mehrzahl bei mehreren Tagen if ( $old_days > 1 ) { echo 'Veröffentlicht vor ' . $old_days . ' Tagen'; } // nur ein Tag else { echo 'Veröffentlicht vor ' . $old_days . ' Tag'; }
Diesen Codeteil nun entweder direkt in das Theme integrieren, normalerweise single.php
, oder eventuell einen Shortcode bzw. ein Plugin daraus basteln.
Bitte beachten Sie, dass dieser Beitrag bereits vor über einem Jahr geschrieben wurde und unter umständen nicht mehr aktuell ist.