WordPress 教程:如何把留言和 Trackbacks 区分开
前面我讲了如何让你的 WordPress 主题实现 Thread Comments 功能,但是并没有实现把留言和 Trackbacks 分开,并且也没有把它们进行样式化,那么今天我就讲讲如何把留言和 Trackbacks 区分开,并且简单样式化它们。
1. 首先修改你主题的 single.php
文件。把
函数替换成
上面的修改经让 comments_template
函数创建一个$comments_by_type
的变量。后面我们将会用到。
2. 打开 comments.php 文件,把
<ul class="commentlist">
</ul>
替换成
<ul class="commentlist">
'comment'); ?>
</ul>
上面这段代码通过指定 type 为 comments 来实现显示的都是留言。
3. 然后在下面添加:
<h2 id="pingback">Trackbacks/Pingbacks</h2>
<ul class="commentlist">
'pings')); ?>
</ul>
上面这段代码通过指定 type 为 pings 来实现显示的都是 Trackbacks。
4. 通过上面三个步骤,已经把留言和 Trackbacks 区分开了,但是几个问题依然存在, Trackbacks 也可以回复,留言列表不能适应原有的主题的样式。这个时候我们可以使用 callback
参数来指定一个函数来定义留言列表的样式。
打开主题的 functions.php
函数,添加如下两个函数:
5. 自定义 Trackbacks 列表函数。
<li id="comment-" class="trackback"><strong></strong> </li>
6. 自定义 Comments 列表函数
<li id="comment-">
<p class="header "><strong>.</strong> | at | <a href="#comment-">#</a>
<?php edit_comment_link('Edit Comment','<span class="editlink">','</span>'); ?>
$depth, 'max_depth'=> $args['max_depth'], 'reply_text' => "回复该留言"));?>
</li>
7. 再次打开 comments.php 文件,把下面两个函数修改为:
'comment')); ?>
'pings')); ?>
修改为:
'comment','callback' => 'custom_comments')); ?>
'pings','callback' => 'custom_pings')); ?>
这样就大功告成。