Kommentare umbrechen und paginieren

Pagination

Oft wird zu Beiträgen gerade über kontroverse Themen sehr eifrig kommentiert. Daher kann ich mir vorstellen, dass es gerade bei solchen Diskussionen für den Leser nicht immer einfach ist, dem Kommentarverlauf zu folgen und gegebenenfalls mehrfach auf Antworten zu reagieren. Insbesondere dann, wenn Kommentare ohne Verschachtelung dargestellt und Leser zum Dauerscrollen gezwungen sind, sollten meines Erachtens Kommentare umbrochen werden.

In Blogs, die häufiger mit einem hohen Kommentaraufkommen konfrontiert sind, bietet sich daher die Einstellung an, Kommentare ab einer bestimmten Anzahl umzubrechen. Noch angenehmer ist diese Funktion, wenn ihr noch eine zusätzliche Seitennummerierung hinzugefügt habt.

Wie breche ich um?

"einfacher" KommentarumbruchUm ein Umbrechen zu erreichen, gehe ich zu Einstellungen >> Diskussionen und setze einen Haken bei “Breche Kommentare in Seiten um, mit…”. Hier kann ich dann die entsprechende Zahl der Top-Level-Kommentare eingeben. Mit “Top-Level” ist gemeint, dass nur der erste Kommentar bei einer Verschachtelung gezählt wird, also eine Antwort und die Antwort auf eine Antwort eben nicht.

In der Regel – zumindest war das in meinem Theme so – ist das Navigieren nur über die jeweiligen Links  “previous” bzw. “next” möglich. Etwas unpraktisch ist diese Methode, wenn so viele Kommentare existieren, so dass ihr Euch von Seite zu Seite mühsam durch die Kommentarliste bewegen müsst.

Wie erreiche ich eine Seitennummerierung unter den Kommentaren?

Komfortabler ist zu diesem Zweck das Anbieten einer nummerierte Seitennavigation (Paginierung). Bereits gelesene Kommentare könnt ihr hiermit einfacher überspringen.

Eine schöne Beschreibung mit den entsprechenden Codes habe ich auf Dimox.net gefunden. Allerdings habe ich nur den für die functions.php und für die Darstellung in der comments.php übernommen. Den Code für die comments.php habe ich mit div-Tags versehen

<div id="com_navigation">
	<div class="com_pagination">
		<?php if(function_exists('wp_comments_corenavi')) wp_comments_corenavi(); ?>
	</div>
		</div>



Kommentarumbruch mit Seitenpagination

und in der style.css meines Themes entsprechend angepasst. Ich muss ihn noch ein wenig verfeinern, hier aber erst einmal der Beispiel-Code meiner derzeitigen Paginierung:

 

#com_navigation{text-align:right;width:90%;float:right;overflow:hidden;font-size:14px;background:#fff;border:1px solid #ddd;color:#000;font-family:Verdana,Geneva,Arial,Helvetica,sans-serif;margin:10px 0px;padding:10px}
#com_navigation a{margin:2px;padding:4px,color:#000}
#com_navigation a, #com_navigation span {border: 1px solid #4F4F4F;color: #fff;font-family: Verdana, Geneva, Helvetica, Arial, sans-serif;font-size: 15px;padding: 3px 7px 3px 7px;margin: 0 1px 0 1px;width:600px}
#com_navigation a:hover {border: 1px solid #E92424;text-decoration:none;background-color:#C62D1F;color:#fff;text-shadow:1px 1px 0px #ADA9A9;-webkit-text-shadow:1px 1px 0px #ADA9A9;-moz-text-shadow:1px 1px 0px #ADA9A9;-ms-text-shadow:1px 1px 0px #ADA9A9}
#com_navigation .navigate-active {background-color:#565454;color: #fff;font-weight: bold}
#com_navigation .navigate-inactive {border: 1px solid #adadad;color: #9a9a9a;font-weight: bold}
#com_navigation .currentpage {background: #000;border: 1px solid #544F4F;color: #ffff;font-weight: bold;text-shadow:1px 1px 0px #000;-webkit-text-shadow:1px 1px 0px #000;-moz-text-shadow:1px 1px 0px #000;-ms-text-shadow:1px 1px 0px #000}
.com_pagination {background-color:#282828;color:#ebebeb;font-family:Verdana, Geneva, Helvetica, Arial, sans-serif;font-size:15px;font-weight:bold;float:right;padding:3px 14px;text-decoration:none;text-shadow:1px -1px 0 #000}
.com_pagination a, #pagination span {border: 1px solid #4F4F4F;color: #fff;font-family: Verdana, Geneva, Helvetica, Arial, sans-serif;font-size: 15px;padding: 3px 7px 3px 7px;margin: 0 1px 0 1px;width:600px}
.com_pagination a:hover {border: 1px solid #E92424;text-decoration:none;background-color:#C62D1F;color:#fff;text-shadow:1px 1px 0px #ADA9A9;-webkit-text-shadow:1px 1px 0px #ADA9A9;-moz-text-shadow:1px 1px 0px #ADA9A9;-ms-text-shadow:1px 1px 0px #ADA9A9}
.com_pagination .navigate-active {background-color:#565454;color: #fff;font-weight: bold}
.com_pagination .navigate-inactive {border: 1px solid #adadad;color: #9a9a9a;font-weight: bold}
.com_pagination .currentpage {background: #000;border: 1px solid #544F4F;color: #ffff;font-weight: bold;text-shadow:1px 1px 0px #000;-webkit-text-shadow:1px 1px 0px #000;-moz-text-shadow:1px 1px 0px #000;-ms-text-shadow:1px 1px 0px #000}

Berichtigen der Kommentarnummerierung

Eine kleine Änderung musste ich noch in meiner functions.php vornehmen, damit die Kommentare auch fortlaufend durchnummeriert sind. Wie in diesem Beitrag beschrieben, habe ich die Kommentarnummerierung manuell und ohne list-style eingebaut. Bei Anwenden des Seitenumbruches beginnt die Kommentarliste wieder bei Nr. 1 und nicht bei der jeweiligen fortlaufenden Nr. Kein Problem, denn auch in dem Artikel angesprochenen Foren-Beitrag hat ein kleiner Codeschnipsel für Abhilfe gesorgt.

Vorheriger Code:

//comments per page
$c_per_page = (int) get_query_var('comments_per_page');
//comments page
$c_page = get_query_var('cpage');
      if ( !$c_page )
          $c_page = 1; 
		$tag = 'div';
		$add_below = 'div-comment';

Geänderter Code:

//comments per page
$c_per_page = (int) get_query_var('comments_per_page');
//comments page
$c_page = get_query_var('cpage');
      if ( !$c_page )
          $c_page = 1; 
   static $comment_number = 0;
    if($comment_number == 0) $comment_number += ($c_page-1)*$c_per_page;
		$tag = 'div';
		$add_below = 'div-comment';

 

Momentan habe ich keinen Lösungsweg gefunden, bei verschachtelten Kommentaren eine seitenübergreifende korrekte Nummerierung zu erzielen.

Nun habe ich auf meinem Blog eingestellt, dass die Paginierung erst ab dem 30. Top-Level-Kommentar greifen soll. Ich meine, dass ein zu frühes Einsetzen des Umbruches wiederum den Lesefluss ausbremsen kann. Daher werdet ihr die Paginierung hier wohl eher seltener zu Gesicht bekommen. ;-) Aber interessiert schon, ob ihr sie für sinnvoll haltet. Und falls ja, was meint ihr, ab wie vielen Kommentaren sie eingesetzt werden sollte?

Die Autorin:

Sylvi

Meine Beiträge beinhalten eigene Erfahrungen über Soft- und Hardware, Social Media und die ich als WordPress-Bloggerin und Joomlanerin gesammelt habe. Zudem widme ich mich dem schönen Hobby "Fotografie".

2 Kommentare

  • Hi Sylvi,

    ich denke, dass der Seitenumbruch nicht verkehrt ist, wenn sehr viele Kommentare zu einem Beitrag gepostet werden.
    Ob dieser jetzt nach 30 Kommentaren erfolgt, ist vermutlich Geschmacksache, scheint mir aber auch ein guter Kompromiss zu sein. Ich denke, Du hast ja schon sämtliche Überlegungen dazu angestellt.
    Mehr würde ich aber nicht auf eine Seite packen, denn, wenn ich das richtig verstehe, zählen ja die verschachtelten Antworten nicht dazu. Dann können auch 30 Kommentare mit Antworten schon sehr lange werden.

    Ich denke, einfach mal abwarten, was sich ergibt oder wie die Meinung von anderen Lesern ist.

    Liebe Grüße,
    Pauli

    • Hallo Pauli,

      na klar ist das Geschmackssache. Aber mich interessiert trotzdem, in welche Richtung meine Leser oder andere Blogger tendieren.
      Noch setzt die Pagination auf meinem Blog nicht ein, weil ich bisher nicht über 30 Kommentare komme. ;-)
      Aber falls das irgendwann der Fall sein sollte, müsste ich mich gegen eine Verschachtelung entscheiden, weil dann die Kommentarnummerierung bei mir nicht richtig funktioniert. Das wäre natürlich schade, weil ich diese einschließlich des Antwort-Button erst kürzlich umgestaltet habe.
      Oder ich müsste die Kommentarnummerierung entfernen, aber DAS war damals so eine Fuckelei, daher werde ich einen Teufel tun. :-D

      Ich hoffe, dass ich bald eine Lösung finde.

      Lieben Gruß
      Sylvi