Wordpress Performance Wordpress SEO Wordpress Security Wordpress Themes Wordpress Hosting Mein Setup Das Buch

Zeitanzeige wie bei Twitter und Facebook

Wordpress Zeitanzeige wie bei Twitter und Facebook Artikelbild

Update: Wie sich herausgestellt hat, geht das Ganze auch deutlich einfacher. WordPress besitzt nämlich eine eigene Funktion, um eine besser lesbare Zeit auszugeben.

Original: Die WordPress Zeitanzeige ist elementar, gibt sie Besuchern doch Auskunft darüber, wann ein Beitrag verfasst und eingestellt wurde. Doch irgendwie ist ein simples Datum nicht mehr ganz zeitgemäß, immerhin ist die Welt sehr schnell geworden, manchmal erscheinen mehrere Posts an einem Tag. Bei Twitter und Facebook ist dies beispielsweise fast immer so, weshalb beide Portale nicht die Zeit selbst, sondern die bis dahin vergangene Zeit anzeigen. Statt “20:35 Uhr”, steht bei den sozialen Netzwerken also so etwas wie “vor 20 Minuten”.

In WordPress lässt sich dies nicht ganz so einfach realisieren, denn viele Snippets die im Netz kursieren funktionieren nicht so richtig. Dies ist zumindest mir aufgefallen, als ich für ein anderes Projekt genau diese Funktion gesucht habe. Nach langer Recherche fand ich dann Hinweise darauf, wie dies in WordPress perfekt realisierbar ist.

Wichtig: Damit das Snippet auch wirklich funktioniert, muss es unbedingt ganz am Ende eurer Function.php eingefügt werden. Also auf keinen Fall in die Mitte oder an den Anfang, nur ganz an das Ende, vor dem schließenden “?>”.

Folgendes in die functions.php eures Themes kopieren:

add_filter('the_time', 'dynamictime');
function dynamictime() {
global $post;
$date = $post->post_date;
$time = get_post_time('G', true, $post);
$mytime = time() - $time;
if($mytime > 0 && $mytime < 24*60*60)
$mytimestamp = sprintf(__('%s ago'), human_time_diff($time));
else
$mytimestamp = date(get_option('date_format'), strtotime($date));
return $mytimestamp;
}

Die Funktion bewirkt, dass sich der Befehl “<?php the_time(); ?>” entsprechend ändert. Also einfach an die Stelle, wo die Zeit angezeigt werden soll “<?php the_time(); ?>” einfügen. Das Snippet zeigt außerdem nur Beiträge in dieser Form an, wenn sie vom selben Tag stammen. Beiträge die bereits über 24 Stunden her sind, werden daher mit ihrer ganz normalen Uhrzeit angezeigt. Dies ist wichtig, wie ich selber finde, denn viele Snippets funktionieren hier anders. Wer sich auskennt, kann die Zeit im Code natürlich noch weiter verändern.



Wordpress Performance eBook