WordPress主题的留言区楼层样式设计技巧

今天我在更新主题的留言区(comments.php)样式时,碰到了一些问题,通过网络搜索查阅了一些资料,基本已得到解决。现将这些资料汇总如下。所举例子以WordPress默认主题(wordpress dufault)模板为修改的源文件。

1. 我想将留言区中作者的评论与其他人的留言区分开,或者单数与双数的楼层样式也区分开。

方法如下:
第一步:
在模板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 $oddcomment = 'alt';
?>

第四步:
到这里,对于模板的更改就完成了,我们接着要做的是在style.css中决定各类样式:

对于通用楼层的样式,我们用 .commentlist li 进行定义;
对于双数楼层的样式我们则使用 .commentlist li.alt 进行定义;
而对于admin作者的样式,则使用 .commentlist li.authorcomment 定义;
同理,对于trackback的楼层样式是使用 .commentlist li.trackback 定义。

2. 我想将留言区中的评论留言与Trackbacks或者Pingbacks区分开。

方法如下:
第一步:
在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 */ ?>

就在这句代码前添加如下代码:

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

第三步:
最后你需要插入代码去显示 Trackbacks。
仍然找到这句代码:

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

在这句代码后添加以下代码来显示Trackbacks和Pingbacks:

<?php if ($trackback == true) { ?>
<h3>Trackbacks And Pingbacks</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。

OK!现在我已经将留言区的样式作了区分,作者评论与用户评论的样式已经不同,而且我也将Trackbacks And Pingbacks与普通留言区分开来,而放到了留言区的最后。效果可以参考本博客的留言区。

Share and Enjoy:
  • del.icio.us
  • Google Bookmarks
  • Haohao
  • LinkedIn
  • MisterWong
  • MSN Reporter
  • Yahoo! Bookmarks
  • 豆瓣
  • 豆瓣九点
  • Facebook
  • QQ书签
  • Twitter

关键词: ,

10 Responses to “WordPress主题的留言区楼层样式设计技巧”

  1. poshi says:

    这个,你这个主题加入了吗?

  2. poshi says:

    发两个留言试试

  3. poshi says:

    晕,自己没有加入呢,不过我那边的主题,是已经有区分了

  4. shafeng says:

    @poshi

    现在我已经将留言区的样式作了区分,作者评论与用户评论的样式已经不同,而且我也将Trackbacks And Pingbacks与普通留言区分开来,而放到了留言区的最后。效果可以参考本博客的留言区。

    我说的很清楚了。评论楼层的单数和双数的样式我没有区分。因为我不喜欢区分这个。
    我只要区分开我的回复就行了。

  5. 花果山寨 says:

    好像没怎么看明白~

  6. 北街 says:

    总结的好!

  7. 网站优化 says:

    你好!邀请您交换友情链接。本站想在首页加入部分友情链接。
    请给我留言,谢谢!如果有重复信息请删除!抱歉!
    Welcome!Thanks!
    SEO培训
    http://www.seoclass.cn
    网站优化
    http://www.pwind.net/

  8. Very interesting site, nice design, greetings :)

  9. shafeng says:

    @网站优化

    本站友情链接的原则请看这里:
    http://shafeng.cn/links

    当然如果是有偿链接,本站可以考虑。 :)

  10. delle says:

    看了感觉不错。给你顶一个.
    继续溜达一下你的博客

Leave a Reply

Follow Me On Twitter