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

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.

Related Recipes

  • No related recipes.

5 Responses

Oct 12 2008 07:47

Thanx! Very useful and I love the new site by the way. I added you to my twitter. I’m ibdreamy there. Hope you add me back. Take care. I’m gonna link back to this post so you should see a trackback soon. ;)

Oct 12 2008 09:34

Glad you enjoyed this recipe! I added you on Twitter as well. Talk to you soon!

Apr 10 2009 04:39

Just thought I would point out that this code is a little inefficient as it requires going through the comments twice. A better solution would be to save the output for comments and trackbacks to variables and output them at the end. To avoid the markup getting a little unruly, you could use output buffering.

Trackbacks:

Leave a Comment

* Name, Email, Comment are Required
Blog And Make Cash