我很想知道为什么WordPress主题的设计者没有把引用和留言分开显示,因为这是改善留言者和阅读留言者的用户体验的一个既简单又很好的方法。如果留言和引用堆在一起(如我之前的博客),读者就会在留言中间看见一堆链接和一些代码,从而不方便跟踪会话内容。
那么,如何把引用和留言分开呢?其实很简单,您只要打开comments.php文件并编辑其中几行就可以了。Pro Blog Design的Michael写了一篇分部教程,他允许我进行修改并发表在这里。
首先,在您的comments.php文件里找到下面这行代码:
- <?php foreach ($comments as $comment) : ?>
在这行代码的后面粘贴下面两行代码:
- <?php $comment_type = get_comment_type(); ?>
- <?php if($comment_type == ‘comment’) { ?>
这两行代码将识别目前留言的类型,并且会过滤引用而只发表真正的留言。现在,您需要结束这个PHP功能,接下来请找到下面一行代码:
- <?php endforeach; /* end for each comment */ ?>
请在这行代码的前面粘贴下面的代码:
- <?php } /* End of is_comment statement */ ?>
到这里就大功告成了。现在您就可以过滤所有的引用了。有些人认为引用通常是垃圾最好是把它删掉。我不赞同这种观点,引用是博客的一个重要部分,我们可以通过改善垃圾拦截工具来对付垃圾。
现在的问题是:引用应该放在留言的前面还是后面呢?这两种方法都不错,应该根据个人的目的来选择。把引用置于留言之前文章之后可以鼓励读者链接到您的文章,因为这些引用链接会出现于显著的地方。另一方面,如果把引用置于留言之后,就会鼓励读者留下更多的评论,以及更密切的跟踪会话。
添加引用部分的代码如下:
- <h3>Trackbacks</h3>
- <ol>
- <?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; ?>
- </ol>
您可以自定义引用的标题((如“Trackbacks” 、“Backlinks” 、“Blog Reactions”等等)、标题的字体大小(如H1、 H2、H3等等)以及排列次序(按序排列或者随机排列)。
现在,如果您想在留言之前插入引用,请把上面的引用代码贴在下面的代码的后面:
- <h2 id="comments"><?php comments_number(‘No Responses’, ‘One Response’, ‘% Responses’ );?> to “<?php the_title(); ?>”</h2>
最后,如果您想在留言之后插入引用,请把引用代码粘贴在以下代码的前面:
- <?php else : // this is displayed if there are no comments so far ?>
精博寄语:
1.原文:每日博客技巧,Deniel,Separate Trackbacks from Comments on Your WordPress Blog。
2.这里的“引用”指"Pingback"和"Trackback"。
3.关于将引用和留言分开显示的方法,不止这一种,smartr.cn也有谈及。
相关博文:

楼主很感谢你。但说实话你的方法下,评论全被判断成了引用。我又看了原作者的文章,复制他的代码,结果才有效了。所以你的翻译中肯定有哪里错了,请修正。因为你的文章会直接被搜索引擎搜到,被全世界的人借鉴,用来解决问题,所以发文章不能轻率啊!
这种方法仍然有一些缺陷,最大的缺陷是评论的计数仍然是原来评论+引用的计数,而没有把引用减去。在没有引用的时候,也不会有相关的提示,显示的很生硬。
如果你回复我请通知我的邮箱,否则我可能看不到。
- spam
- offensive
- disagree
- off topic
Like