Built into WordPress are categories, tags, and trackbacks/pingbacks that can serve as crosslinking. Your theme has to display the category an tag listings, which most seem to do. Trackbacks/pingbacks are displayed as part of the comment thread. Anything else, or anything more complicated, you will have to do yourself.
Based on your question, I am guessing that the trackbacks/pingbacks is where you want to start. That being the case, you will want to parse the $comments
variable before you display the comments.
foreach ($comments as $c) {
if (!empty($c->comment_type) || 'pingback' == $c->comment_type || 'trackback' == $c->comment_type) {
$related[] = $c;
}
}
var_dump($related);
You can do a similar thing using the comments_array
filter.
function break_comments($comments) {
global $pingtracks;
$coms = $pingbacks = array();
foreach ($comments as $c) {
if ('comments' == $c->comment_type) {
$coms[] = $c;
} else {
$pingtracks[] = $c;
}
}
return $coms;
}
add_action('comments_array','break_comments');
You can then access your pingback with …
global $pingtracks;
var_dump($pingtracks);
… in your template files. I honestly don’t see the advantage of that second technique though.
Both techniques will have trouble if comments are paginated. I am pretty sure they will, at least. And there is no way that I can see to avoid that. The comments query is pretty much hard-coded into the comments_template
function and there are no useful filters in there. Presumably, this will eventually be rewritten to use WP_Comment_Query
.
Again, if you need something more complicated, or different, you will have to write it yourself (or find a plugin). And if that is not what you are looking for please [edit] your question with more details.