- 2008-11-18 (Tue) 14:46
- • WordPress •

今天把WP2.7 beta3上传,并稍微修改wp.Vicuna模板,实现嵌套评论功能。
虽然是beta但我还是承认其结构比较好,不过单独留言定义样式还是很欠缺。
看default模板增加了很多样式定义, 如:
.thread-alt {} 、.thread-even {} 、.depth-1 {} 、
.even, .alt {} 、 .commentlist li ul li {} 、 #commentform {} 、
#respond:after{} 、 .children{}
但这些对使用wp.Vicuna的用户几乎无济于事,因为wp.Vicuna使用的是<dl><dt><dd>而不是默认的、大部分都使用的<ul><li>样式,WP2.7的就是使用这种样式。
但我觉得用wp.Vicuna改造反而更容易。因为不用有意去分开comments和trackpings。其提供的comments.php里已经分开了,而且用< ?php get_comment_type();?>来获取trackpings。默认的就是comments啦。
所以根本不需要考虑trackping以及他的定义样式,只要用默认的就行了,包括css。除非你想在trackback和pingback中也要使用Reply这个功能,但毫无意义。
所以我们只需要关心comment就可以。
修改四个部分,首先讲comments.php
第一、在comment部分的<dl class=”log”>前面加上如下代码。
<?php if (function_exists('wp_list_comments')) : ?>
<dl class="log"><?php wp_list_comments('type=comment&callback=custom_comments');?></dl>
<p><?php else : ?>
第二、在<form>前面加上<div id=”respond”> ,
然后在</form>关闭之前加上
<?php comment_id_fields(); ?>
<?php do_action('comment_form', $post->ID); ?>
<?php cancel_comment_reply_link($text = '点击取消回复'); ?>
</form>关闭之后当然要关上</div>,要不然留言框就无法正常运作。
至此comments.php的改造结束。
第三、利用wp_list_comments的callback来调用functions,functions.php中加上如下代码
<?php
if (function_exists('wp_list_comments')) {
// custom comments
function custom_comments($comment, $args, $depth) {
$GLOBALS['comment'] = $comment;
?>
<dt id="comment-<?php comment_ID() ?>">
<span class="avatar"><?php echo get_avatar(get_comment_author_email(), $size = '32', $default = '' ) ?></span>
<span class="name"><?php comment_author_link() ?></span><br/>
<span class="date"><?php comment_date('y-m-d (D) G:i') ?></span> <?php edit_comment_link('Edit.','<span class="admin">','</span>'); ?>
<span class="commentext">
<?php comment_text() ?></span>
</dt>
<dd><?php comment_reply_link(array('depth' => $depth, 'max_depth'=> $args['max_depth'], 'reply_text' => "[回复]"));?>
</dd>
<?php }}?>
注意<dt>开始的后半部分,其实就是comments.php的<dl class=”log”>后面的代码,复制添加进去,然后把<?php comment_text() ?>挪到</dt>前面,最后别忘了加上Reply那个代码。当然了代码中的<?php endif;?>之类的,自己看着加吧。
最后、定义3-context.css文件,需要根据自己的样式定义。
如果说还有一个步骤地话:就是后台Discussion选项了,如Reply深度等。
具体样式可参考我的留言回复。
Comments : 34Add Your Own
-
2. YoungCheon
08-11-18 (Tue) 16:02是啊,呵呵 看看效果;好像嵌套回复里跟本地测试结果不同啊,名字日期怎么跑到下面来了啊 ,原来是名字长了就跑下面,还要改改。
-
3. YoungCheon
08-11-18 (Tue) 16:17现在OK啦
-
4. YoungCheon
08-11-18 (Tue) 16:44继续测试
-
5. YoungCheon
08-11-18 (Tue) 16:48再来一次测试 ,好像第二层回复的头部margin有问题,真是问题多多啊,具体定义确实很难。
-
6. YoungCheon
08-11-18 (Tue) 17:53测试第三层,现在好多了。算是大概测试结束了。
-
9. YoungCheon
08-11-18 (Tue) 18:29是啊,用上了,顺便后台回复测试
-
17. YoungCheon
08-11-19 (Wed) 21:57还算不错吧 呵呵 起码我定义到了 不过问题多多是有的
-
19. YoungCheon
08-11-25 (Tue) 15:53没错 还没出来 我用的也是beta
-
22. YoungCheon
08-12-25 (Thu) 22:25晕 feed向来不稳定 你就别在意啦 哈哈
-
24. YoungCheon
09-02-09 (Mon) 8:24有什么需要的,愿意帮助你,慢慢来
-
26. YoungCheon
09-03-25 (Wed) 15:15这个根据主题模板不一样的,看你用的什么主题,原理是一样
-
29. YoungCheon
09-05-13 (Wed) 19:48呵呵 慢慢来 只要理解了Vicuna皮肤是绝对强大的,我这里还写了Vicuna CMS结构, 主要是针对WordPress的
-
32. YoungCheon
09-11-29 (Sun) 16:06可以给你一份,不过给你你还得全部重新定义CSS,因为这个主题和其他的主题是不一样的,我用的是日本人的。他的代码样式也很是不同。
-
34. YoungCheon
09-11-30 (Mon) 10:22已经发出文件,不清楚请联系
TrackPings : 3
- Trackback URL for this entry
- http://www.teikinka.com/wp27-thread-comment.html/trackback
- Listed below are links to weblogs that reference
- WP2.7 beta3 添加嵌套评论 From 腾信家
- pingback From WordPress2.7正式版 08-12-11 (Thu) 11:59
-
[...] 因为我之前写过《WP2.7beta3 添加嵌套评论》就不在多讲。 [...]
- trackback From 阿修的1987 09-05-17 (Sun) 8:03
-
有关WordPress评论的两个相关问题…
经过几天的默默修改,终于算是把关于评论的页面搞定了。还真是很多东西要摆弄,不过全部摆弄完了,回页面上一看……几乎看不出来什么变化。不过这大概也是搞这个东西的特点吧,…..
- pingback From 阿修的1987 - 有关WordPress评论的两个相关问题 09-09-24 (Thu) 15:28
-
[...] WP2.7 beta3 添加嵌套评论 [...]

