scriptygoddess RSS Feed
 
 
 
 

Separating Comments and Trackbacks

Some habits are hard to break. In the MT world - comments and trackbacks are different animals. Maybe just because I'm used to it that way - but that's the way I prefer it. A trackback/pingback isn't a complete thought. Comments (usually) are. When reading the comments section, I find it disrupting to see a trackback in the middle of the discussion. When I'm ready to leave the site and read another opinion, I will.

Ok, I'll get off the soapbox now. Greg asked me how I separated the comments and trackbacks on this site. Here's how:

Add the following function to your my-hacks.php file (See more information on how to use my-hacks.php here - link via Carthik) :

function return_comment_type($commenttxt = 'Comment', $trackbacktxt = 'Trackback', $pingbacktxt = 'Pingback') {
global $comment;
if (preg_match('|<trackback />|', $comment->comment_content))
return $trackbacktxt;
elseif (preg_match('|<pingback />|', $comment->comment_content))
return $pingbacktxt;
else
return $commenttxt;
}

And here's how you'll use it…

In wp-comments.php - this is what I have (edit for your own use as neccessary)

<?php if ($comments) { ?>
<?php
$cmts = 0;
$trkbks = 0;
?>
<p><b>:: Trackbacks/Pingbacks :: </b></p>
<ol>
<?php foreach ($comments as $comment) { ?>
<?php if (return_comment_type() != "Comment") { ?>
<?php $trkbks++; ?>
<a name="comment-<?php comment_ID() ?>"></a>
<li><?php comment_text() ?>
<p><?php comment_type(); ?> <?php _e("by"); ?> <?php comment_author_link() ?> — <?php comment_date() ?> <?php comment_time() ?> | <a href="#comment-<?php comment_ID() ?>">permalink</a></cite> <?php edit_comment_link(__("Edit This"), ' |'); ?></p>
<br />
</li>
<?php } ?>
<?php } // end for each comment ?>
</ol>
<?php if($trkbks <= 0) { ?>
<p>No Trackbacks/Pingbacks</p>
<?php } ?>
<p><b>:: Comments :: </b></p>
<ol>
<?php foreach ($comments as $comment) { ?>
<?php if (return_comment_type() == "Comment") { ?>
<?php $cmts++; ?>
<a name="comment-<?php comment_ID() ?>"></a>
<?php
// this is actually the "important" comment highlightling
$isImportant = false;
if (stristr($comment->comment_content, "<!–important–>")) {
$isImportant = true;
} ?>
<li>
<?php if($isImportant) { echo '<div class="importantcomment">';} ?>
<?php comment_text() ?>
<p><?php comment_type(); ?> <?php _e("by"); ?> <?php comment_author_link() ?> — <?php comment_date() ?> <?php comment_time() ?> | <a href="#comment-<?php comment_ID() ?>">permalink</a> <?php edit_comment_link(__("Edit This"), ' |'); ?></p>
<?php if($isImportant) { echo '</div>';} ?>
<br />
</li>
<?php } ?>
<?php } // end for each comment ?>
</ol>
<?php if($cmts <= 0) { ?>
<p>No comments</p>
<?php } ?>
<?php } else { // this is displayed if there are no comments so far ?>
<p><?php _e("No comments yet."); ?></p>
<?php } ?>

I should add that I'm not making any guarantees that this code will validate - feel free to edit for your own purpose.

(Updated to add: I'll probably want to combine this with this plugin I just found (via WxGal) which will give you a separate count for trackbacks and comments)

Post last updated: 6/22/04 9:27pm

29 Responses to “Separating Comments and Trackbacks”

  1. 1
    Greg:

    Thanks so much. It worked perfectly. I agree with you on the comments/trackbacks thing. I want them separated also. It's disruptive to see trackbacks mixed into the comments… so thanks again for helping me out with this.

  2. 2
    Plays Well With Others:
    ScriptyGoddess To The Rescue…
    This is what I love about open source projects… great people willing to lend a hand to get things done.

  3. 3
    WxGal's World :: Journal:
    Trackback popup plugin
    Well … looks like I've created my first, very own plugin for WordPress. The base install of WP gives you the option to have a comments popup. I was doing that on my MT blog, and wanted to do that here as well. Well, the default comments popup pag…

  4. 4
    Binary Bonsai » Minor SQL problems and an update:
    [...] , where the comments have been segregated from the track- and pingbacks. It's all based on Scriptygoddess's plugin. It still needs some minor adjustme [...]

  5. 5
    WxGal's World :: Journal » Trackback popup plugin:
    [...] Well, in order to get ONLY the comments to show up on the comment popup page, I used the code that Scriptygoddess had for separating [...]

  6. 6
    Blogging Pro - Blog News, Tools and Hacks:
    WordPress Hack: Separating Comments & Trackbacks
    Do you need to separate your comments from your trackbacks? This hack from Scriptygoddess will do just that. Now you can have your trackbacks listed first and then your comments.

  7. 7
    Blogging Pro - Blog News, Tools and Hacks » WordPress Hack: Separating Comments & Trackbacks:
    [...] ess Hacks|Google it! Do you need to separate your comments from your trackbacks? This hack from Scriptygoddess will do just that. Now you can hav [...]

  8. 8
    Weblog Tools Collection » scriptygoddess: Seperate comments and trackbacks:
    [...] ts and trackbacks Filed under: WordPress Hack LinkyLoo — Mark @ 10:55 am Scriptygoddess: Seperate comments and trackbacks: If you ha [...]

  9. 9
    typedby.com:
    Separating Comments and Trackbacks
    I wanted to separate comments and trackbacks in individual entry posts. Not that a lot of people trackback to this site, but just in case someone did I didn't want it to get lost amongst the comments. So I found this hack at the Scriptygoddess site….

  10. 10
    Mama Write:
    Various WordPress Links
    Rather than ping ScriptyGoddess multiple times and clog my sideblog with even more WordPress links, I decided to plop 'em all here. I'm going to give WordPress a try again on my course website, since there are various hacks that…

  11. 11
    berto vive no mundo » Organizando os comentários en wordpress:
    [...] /das visitantes" "Este post foi mencionado en" Para esto baseime nun artigo de scriptygoddess cunhas cantas modificacións pola [...]

  12. 12
    Linkkivarasto » WordPressin säätöä #2:
    [...] DewVirus WordPress Plugins And Hacks (sisältää Comment Count ja Most Commented -pluginit), kommentit ja trackbackit erottava plugin, moderointi yli vi [...]

  13. 13
    cavemonkey50.com v2.5:
    Mini Update
    I redid how comments are displayed. There is now a nice clean display of the comments, so it's much easier to read. I used a nice little hack by scriptygoddess to separate the comments and trackbacks. So what are you waiting for? Comment away!

  14. 14
    Chad Evans:

    Jennifer,

    From what you add in wp-comments.php, does this over-ride the original wp-comments.php or is this an addition?

  15. 15
    Chad Evans:

    nm, got it

  16. 16
    Rippleweb:
    I Took The Plunge
    Well, I decided to go for it. I decided to move to Wordpress from Movable Type. I just couldn't stand it anymore — Wordpress is *fun*! All the plugins and hacks are cool, and I just love this Kubrick template by Michael Heilemann. And, the "Nice…

  17. 17
    noscope | Colophon and other Updates:
    [...] it. The permalink is still available if you click the number next to the comment. Using Scriptygoddess' technique, I have separated comments [...]

  18. 18
    noscope | Colophon and other Updates:
    [...] it. The permalink is still available if you click the number next to the comment. Using Scriptygoddess' technique, I have separated comments [...]

  19. 19
    lite pollution » separating comment types:
    [...] 217;s a small thing, but it makes things a bit cleaner. Thanks to scriptygoddess for this excellent hack. [...]

  20. 20
    William Meisheid:

    I have the same question as Chad since I don't know enough about programming…

    What do I replace in wp-comments.php with what you have here? All or after the line?

    Also, does each hack added in my-hacks.php begin and end with its own < ?php ?> set?

    Thanks in advance

  21. 21
    William Meisheid:

    /

  22. 22
    Jennifer:

    You're modifying the wp-comments.php page - where you see this:
    <?php foreach ($comments as $comment) { ?>
    all the way to this:
    <p><?php _e("No comments yet."); ?></p>
    <?php } ?>

    You're replacing that whole block - with what i have above…

    (FYI - if you're putting code into the comments box - you need to convert all the < > to their ascii equivalents. You should be able to select all your code and click the link in the text above the comment box that talks about doing this - and that will automatically convert your < > to ascii for you.)

  23. 23
    William Meisheid:

    After pasting in the code starting where you said <?php foreach and ending with ?> after the 'No comments section I get a Parse error. Unexpected $ in line 126.

    Also, does each hack added in my-hacks.php begin and end with its own <?php ?> set?

  24. 24
    Daniel Geffen:

    I get the same problem as the fellow in the comment above (except mine says the unexpected $ is in line 128. Any idea how I've screwed up?

  25. 25
    Emily:

    I've used this hack on another blog before and it works perfectly. But with the blog I am working on now, I get this error on the comments page:

    Fatal error: Call to undefined function: return_comment_type() in /home/emiline/public_html/daydreams/wp-comments.php on line 43

    I know that has to do with the my-hacks file, but the my-hacks file is in the directory and I copied it straight from the my-hacks file I am using on the other blog that is working. Also the whole comments page is basically copied from the working blog, so I don't really understand why the code would work on one blog, but not on the other.

  26. 26
    Emily:

    Nevermind, I am stupid and forget I had to check the little box in the options panel to turn on the my hacks file. Duh.

  27. 27
    Zootropo. Diario del Mundo Geek » Pequeños cambios:
    [...] costumbre de tratar como si fueran lo mismo, utilizando para ello una pequeña función de Scripty Goddess. [...]

  28. 28
    Lorelle VanFossen:

    Will you be updating this for v1.5 or will it still work without changes?

    This is so awesome. I don't know why this isn't a default in WordPress. Nothing more frustrating that running across all the trackbacks within the comments!

  29. 29
    Jennifer:

    I'll probably have to update it. I'll add it to my to do list… :)

Bookmarks

WordPress Resources

Meta