Jamie asked: “How can I display comments and trackbacks separately?”

October 9, 2008 at 9:21 am

Jamie, a Cats Who Code regular reader who maintains a technology related blog, asked me how I managed to separate comments and trackbacks on Cats Who Code.
Let’s see how the get_comment_type() function make it so easy.

Let’s face it: When you’re reading comments on a blog post, trackbacks are annoying. It’s way better to display it separately from comments.

Open and edit the comments.php file from your theme. Find the comment loop:

foreach ($comments as $comment) : ?>
    // Comments are displayed here       	 
endforeach;

Replace it with the following:

<ul class="commentlist">
    <?php //Displays comments only
	foreach ($comments as $comment) : ?>
       	<?php $comment_type = get_comment_type(); ?>
       	<?php if($comment_type == 'comment') { ?>
	    <li>//Comment code goes here</li>
	<?php } 
    endforeach; 
</ul>

<ul>
    <?php //Displays trackbacks only
	foreach ($comments as $comment) : ?>
       	<?php $comment_type = get_comment_type(); ?>
       	<?php if($comment_type != 'comment') { ?>
	    <li><?php comment_author_link() ?></li>
	<?php } 
    endforeach; 
</ul>

As you probably noticied, we used the get_comment_type() hook, which return a string containing the comment type.