Sidebar
ein-/ausblenden

WordPress Kommentare als Zeitlinie visualisieren

Plugin für WordPress SEO

Anzeige

Die Kommentarfunktion von Weblogs ist sicher eine der bedeutendsten Bereicherungen. Eine Funktion die ich nicht missen möchte und die einem ein Feedback zu den veröffentlichten Artikeln geben kann.
Um die Darstellung der Kommentare gibt es eine ganze Reihe von Tutorials. Auch hier im Blog gab es dazu schon einige Hinweise und Tipps um die Gestaltung zu verbessern.

In diesem Artikel möchte ich eine Lösung von Jeff Minard vorstellen, der die Kommentare in Abhängigkeit ihres Zeitpunktes mit Hilfe einer Zeitlinie darstellt. Die Lösung habe ich im aktuellen Design integriert und im Folgenden findet ihr die Schritt für Schritt-Anleitung dazu.

Dazu muss das Template comments.php im verwendeten Theme bearbeitet werden. Öffnet diese Datei also in eurem Editor des Vertrauens. Dort sucht ihr den Bereich, der die Ausgabe der Kommentare übernimmt. Dieser ist in der Regel, je nach verwendeten Theme, an dem List-Tag <ol> oder <ul> zu erkennen. Innerhalb dieses Bereiches kommen folgende Zeilen.


    <?php $last_comment = $comments[count($comments)-1]->comment_date; $bar_length = strtotime($last_comment) - strtotime($post->post_date); $bar_length = $bar_length + ($bar_length*.03); // 3% Weite ?>

Im Anschluss erweitern wir die Ausgabe des einzelnen Kommentars, welcher in den meisten Themes mit dem li-Tag innerhalb der <ol> oder <<l> ausgegeben wird.
Dort fügt ihr folgenden Syntax ein. Dabei entsteht hier die Zeitlinie, die dann mittels CSS formatiert wird. Dabei wird der Abstand von Links mittels der Kommentar-Zeitpunktes berechnet und direkt dem div zugewiesen (<div style="left:).


  • Nun erfolgt eine exemplarische Formatierung mittels CSS im Stylesheet eures Themes - style.css. Diese könnt ihr entsprechend anpassen an eure Bedürfnisse.

    
    .commentlist li {
    position: relative;
    _height: 1px;
    }
    
    .alt .commenttimeline {
    position: absolute;
    top: 50px;
    left: 8px;
    right: 8px;
    height: 1px;
    _width: 102.5%;
    }
    
    .commenttimeline {
    position: absolute;
    top: 51px;
    left: 8px;
    right: 8px;
    height: 1px;
    _width: 102.5%;
    }
    
    .mein_kommentar .commenttimeline {
    top: 50px;
    }
    
    .commenttimeline div {
    background: #793907;
    height: 5px;
    width: 3%;
    _line-height: 1px;
    _font-size: 1px;
    }
    

    Ein Hinweis noch zum Abschluss. Der Wert für den Abstand wird errechnet auf Grund des Veröffentlichungszeitpunktes des Beitrags. Dadurch ist der Wert bei älteren (anderes Jahr) Beiträgen außerhalb der Darstellung und es ist, je nach Theme, nicht unbedingt schön in der optischen Darstellung. Eine Lösung ist es, das Datum zu prüfen und die Zeitlinie nur darzustellen, wenn der Beitrag im aktuellen Jahr veröffentlicht wurde.

    
    
      <?php $today = getdate(); $today = $today[year]; $last_comment = $comments[count($comments)-1]->comment_date; if (substr($post->post_date, 0, 4) == $today) { $bar_length = strtotime($last_comment) - strtotime($post->post_date); $bar_length = $bar_length + ($bar_length*.04); // 4% slack, width of each 'tick mark' $timeline = 1; } ?>
    Artikel #529, 30. Oktober 2007 · PHP, Tipps, WordPress · 3 Kommentare · Kommentar schreiben
    Tags: , , , ,
    read: 7685 · today: 11 · last: 11. März 2010
    Kommentar-Feed zum Artikel · TrackBack URL

    2 Kommentare und 1 Trackback zu „WordPress Kommentare als Zeitlinie visualisieren“

    1. 1
      Pingback von Nerdcore » Links vom 31. 10. 07: Best Bad Music Videos und wie wäre die Erde ohne Mond?
    2. 2
      Kommentar von Nick

      Wo finde ich denn eine Demo? Bevor man sich das einbaut, möchte man doch erst mal sehen, wie es aussieht.

    3. 3
      Kommentar von Frank Bültge

      @Nick: es gibt kein Demo, hier im Blog ist es nicht mehr eingebaut und das Design kannst du via CSS bestimmen.

    Kommentar schreiben

    Kommentar-Hilfe

    Bezug auf Textstellen:
    Du kannst direkt bezug auf Textstellen im Beitrag nehmen. Dazu muss lediglich der Bereich im Artikel markiert werden; daraufhin erscheint ein Button, der den markierten Text in das Kommentarfeld übernimmt und als Zitat auszeichnet. Die Funktion ist nur bei aktivem JavaScript nutzbar.

    xHTML:
    Du kannst folgende Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <blockquote cite=""> <code> <pre> <em> <strong> <strike> <ul> <ul> <li>

    Achte darauf, wenn du Code im Kommentar hinterlegen willst, dann muss der Code maskiert sein. Dann wird er nicht interpretiert. Der Code muss mit Hilfe von HTML-Entities dargestellt werden, d.h. dass man z.B. < als &lt; und > als &gt; einfügt.

    E-Mail-Benachrichtigung bei neuen Kommentaren ?
    Wenn der Haken in der Checkbox gesetzt ist, dann wirst du über neue Kommentare vie E-Mail informiert. Der Versand erfolgt nur, wenn du die URL in der Bestätigungs-E-Mail genutzt hast oder schon Abonnent hier im Blog bist.

    Kommentar erscheint nicht:
    Alle Kommentare werden manuell geprüft, freigegeben und nach Möglichkeit beantwortet. Bitte um etwas Geduld und Nachsicht.

    Identifikationsbilder (Avatare):
    Auf Gravatar.com kann man sich mit seiner E-Mail-Adresse registrieren und ein Bild hochladen, dann erscheint dieses Gravatar hier und in vielen weiteren Blogs.

    Spamschutz:
    Das Kommentarformular ist mit einem JavaScript-Spamschutz ausgerüstet. Solltest du diesen Artikel ohne JavaScript besuchen und kommentieren wollen, so muss du die Frage beantworten und das jeweilige Wort in das Textfeld eingeben.