WordPress 技巧:区分开 Comments 和 Trackbacks

WordPress 不好的一个地方就是把 comments,pingbacks,和 trackbacks 一团糟放在一个列表里面,并且没有提供一个把它们区分开的选项。把它们区分开能够给你一个更清晰的留言区,并且能够给读者更专业的感觉。下面实现的具体步骤:

实现这个功能主要的工作就是编辑尼主题的 comments.php,当你找到你的 comments.php 的时候,现在我们开始修改代码:首先找到一下代码:

<?php foreach ($comments as $comment) : ?>

直接在它的下面增加以下代码:


<?php $comment_type = get_comment_type(); ?>
<?php if($comment_type == 'comment') { ?>

以上代码其实是告诉 WordPress 去获取留言的类别,如果留言的类别是 ‘comment’,就是是人留的言,显示它。

接着,我们需要插入更多的代码,在 comments.php 一直往下找,直到你看到:

<?php endforeach; /* end for each comment */ ?>

就在 endforeach 代码之前添加如下代码:

<?php } else { $trackback = true; } ?>

最后你需要插入代码去显示 trackbacks。


<?php if ($trackback == true) { ?>
<h3>Trackbacks</h3>
<ul id="trackbacks">
<?php foreach ($comments as $comment) : ?>
<?php $comment_type = get_comment_type(); ?>
<?php if($comment_type != 'comment') { ?>
<li><?php comment_author_link() ?></li>
<?php } ?>
<?php endforeach; ?>
</ul>
<?php } ?>

这些代码是告诉 WordPress 显示留言类别不是 ‘comment’ 的留言,包括 pingbacks 和 trackbacks。你现在在你的日志页面看到效果了(如果你使用了缓存插件,你需要刷新下你的缓存)。

翻译自:Separating Comments and Trackbacks,有节选,请注意。