Da ich bereits des öfteren gefragt wurde, wie man Kommentare eines WordPress-Artikels von Pingbacks und Trackbacks trennen kann, habe ich hier eine kleine Anleitung vorbereitet. Für diese Anpassung in einem WordPress-Theme muss die comments.php Datei bearbeitet werden.

Am besten du speicherst dir als erstes eine Kopie deiner comments.php ab. So kannst du immer wieder auf die originale Datei zurückgreifen, falls du mit dem Code durcheinander kommen solltest.

Dann kannst du mit den Änderungen in der Datei beginnen. Suche nach folgendem Code in deiner comments.php Datei (ich werde in der Anleitung die comments.php Datei des Twenty Eleven-Themes anpassen):

[php]
<h2 id="comments-title">
<?php
printf( _n( ‘One thought on &ldquo;%2$s&rdquo;’, ‘%1$s thoughts on &ldquo;%2$s&rdquo;’, get_comments_number(), ‘twentyeleven’ ),
number_format_i18n( get_comments_number() ), ‘<span>’ . get_the_title() . ‘</span>’ );
?>
</h2>
[/php]

Der Code-Schnipsel ruft die Kommentar-Überschrift inklusive der Anzahl aller Kommentare aus. Um in diesem Code nur die Kommentar-Anzahl, ohne die Pingbacks und Tracksbacks anzuzeigen, änderst du den Code jetzt in:

[php]
<?php if (!empty($comments_by_type[‘comment’])) { ?>
<h2 id="comments-title">
<?php echo count($wp_query->comments_by_type[‘comment’]); ?> <?php _e( ‘Comments’, ‘twentyeleven’ ); ?>
</h2>
[/php]

Der Code bewirkt, dass du nur die Kommentare vom type “comment” aufrufst. Die Kommentar-types “pingback” und “trackback” schließt du erst einmal aus.

Als nächstes suchst nach dem Code für die Kommentarliste (ol mit der Klasse “commentlist”) in der comments.php Datei:

[php]
<ol class="commentlist">
<?php
/* Loop through and list the comments. Tell wp_list_comments()
* to use twentyeleven_comment() to format the comments.
* If you want to overload this in a child theme then you can
* define twentyeleven_comment() and that will be used instead.
* See twentyeleven_comment() in twentyeleven/functions.php for more.
*/
wp_list_comments( array( ‘callback’ => ‘twentyeleven_comment’ ) );
?>
</ol>
[/php]

Diesen Code änderst du in:

[php]
<ol class="commentlist">
<?php
wp_list_comments( array( ‘callback’ => ‘twentyeleven_comment’, ‘type’ => ‘comment’ ) );
?>
</ol>
[/php]

Indem du die zusätzliche Angabe “type gleich comment” festlegst, werden die Trackbacks und Pingbacks aus der Auflistung der Kommentare erst einmal ausgeschlossen.

Für die Pingbacks und Trackbacks erstellst du jetzt eine zweite, eigene Auflistung unterhalb der esten Kommentarliste. Dafür fügst du direkt unter der ersten ol-Kommentarliste folgenden Code ein:

[php]
<?php } if (!empty($comments_by_type[‘pings’])) { ?>

<h2 id="comments-title"><?php echo count($wp_query->comments_by_type[‘pings’]); ?> <?php _e( ‘Pingbacks & Trackbacks’, ‘twentyeleven’ ); ?></h2>

<ol class="commentlist">
wp_list_comments( array( ‘callback’ => ‘twentyeleven_comment’, ‘type’ => ‘pings’ ) );
</ol>
<?php } ?>
[/php]

Der type “pings” ruft übrigens Pingbacks und Trackbacks zusammen auf. Möchtest du nur Pingbacks anzeigen, kannst du “pings” in “pingback” ändern. Für die Anzeige von Trackbacks kannst du “trackback” nutzen.

(Eine genaue Beschreibung der wp_list_comments types findest du auch im WordPress Codex.)

Wenn du jetzt dein Theme im Browser neu lädst, sollten Kommentare getrennt von Pingbacks und Trackbacks angezeigt werden.

WordPress Pingbacks und Kommentare trennen
Getrennte Kommentare und Pingbacks im Twenty Eleven-Theme.
Anpassung der Kommentar- oder Pingback-Darstellung im Theme

Möchtest du die Anzeige der Kommentare oder der Pingbacks noch anpassen, kannst du in der functions.php übrigens auch noch die twentyeleven_comment Funktion bearbeiten. Hier findest du das li-Listelement mit der Klasse “post pingback”. Du kannst den Code oder den Textstring “Pingback:” noch nach deinen Wünschen verändern.

Ich hoffe diese kleine Anleitung hilft dir, den Kommentarbereich deines WordPress-Themes anzupassen. Am besten ist es, wenn du für deine Anpassungen ein Child-Theme verwendest. So können deine Änderungen auch bei einem Updates des Parent-Themes nicht verloren gehen.

Hast du Fragen zum Code oder weitere Tipps für die optimierte Anzeige von Kommentaren und Pingbacks in WordPress? Über dein Feedback freue ich mich sehr!