RSS所有此标签文章: "留言板"

给WordPress的留言增加楼层数(序号)

原文地址:http://smartr.cn/wordpress/add-number-to-wordpress-comments.html
 
如果你的博客回复楼层太多,想从中间找某某的留言并不容易,所认如果能显示留言序号的话显得有意义多了。其实为WordPress的留言增加一个序号并不复杂,在WordPress中已经为我们提供好如下的代码:
<?php comment_ID();?>
只要我们把上面的代码插入到comment.php中你想显示留言序号的位置就行了。不过这个简单方法有个缺点,就是如果你日后删除掉某条留言,留言的序号就变成不连续了,如1,2,4,5…的形式,中间缺了3这个数字。
我们可以换一个方法达到目的同时避免上述问题。同样我们在comment.php模板中查找:
<?php foreach ($comments as $comment) : ?>
然后我们在其上面增加一句代码如下:
<?php $cmntCnt = 1; ?>
最后我们就在想添加留言序号的位置插入如下代码:
<?php echo($cmntCnt++); ?>
就这简单就可以了,总的来说这三句代码的位置可以如下:
<?php $cmntCnt = 1; ?>
<?php foreach ($comments as $comment) : ?>
… <?php echo($cmntCnt++); ?>…留言作者的姓名
好了,如果你也想增加留言序号,不妨试试这个方法
UPDATE 08/05/06
P.S. 如果你需要把留言倒序排列显示,可按如下方法实验:
在comment.php文件中查找如下语句:
<?php if ($comments) : ?>
然后在它的后面添加一句如下:
<?php $comments = array_reverse($comments) ?>
完成
UPDATE 08/08/20
如果留言倒序号也要把序号进行倒序,方法如下:
<?php $cmntCnt = 1; ?>改成<?php $cmntCnt = get_comments_number(); ?>
然后
<?php echo($cmntCnt++); ?>改成<?php echo($cmntCnt); $cmntCnt–; ?>
OK!

WordPress留言楼层样式技巧

原文地址:http://smartr.cn/wordpress/comment-list-design.html
 
在WordPress中留言模板(comments.php)设计中的一些技巧:譬如你想在留言中admin的样式与其它访客的不一样;或者你希望单数与双数的留言楼层能区分开来;再者,你希望对于trackback及pingback的样式也需要特别点的样式,上述这些功能你都可以简单地修改你的主题模板达到,你也可以在我的留言板块中看到相关效果。
尽管各主题模板可能有所差异,但对于comments.php来说,内容基本是相同的。下面我举例通过修改default主题的comments.php来说明:
第一步:
在模板中的开始部分的第一个<? php ?>内容中查找:
$oddcomment = ‘class=”alt” ‘;
把它改成:
$oddcomment = ‘alt’;
第二步:
接着在<ol>循环中查找:
<li <?php echo $oddcomment; ?>id=”comment-<?php comment_ID() ?>”>
把它改成:
<li class=”<?php echo
$oddcomment;
$comment_type = get_comment_type();
if ($comment->comment_author_email == get_the_author_email()) :
echo ‘ authorcomment’;
elseif($comment_type == ‘trackback’ || $comment_type == ‘pingback’) :
echo ‘ trackback’;
endif;
?>” id=”comment-<?php comment_ID() ?>”>
说明一下:上面的语句是首先通过判断留言作者的email地址,如果其地址与admin的地址,也就是网站的管理员邮址相同的话,执行“authorcomment”这个样式;接着通过留言的类别,如果是trackback或者pingback的话,则执行“trackback”这个样式。
第三步:
在模板中</li>的标记后查找:
<?php $oddcomment = ( empty( $oddcomment ) ) ? ‘class=”alt” ‘ : ”; ?>
改成:
<?php
if (‘alt’ == $oddcomment) $oddcomment = ”;
else [...]