庸俗路上的无尽狂奔……

星期六, 十二月 23, 2006

定制 Trackback 特定样式

首先要自我打击一下,在产生这个想法之后,本来我是异想天开地想编成一个插件的,但研究半天发现自己其实对PHP语言还是个大菜鸟,远没有我想的那么简单,只好用笨办法了:手动添加代码到模板中去:em11:


本来想用的来自这里:WordPress - Comment styling,确实是一篇不错的文章,里面不仅介绍了为Trackback和Pingback增加独特样式,也有为特定评论的与众不同的显示提供了解决方案。而且作者Podz所写的The Temba2 Wordpress Guides是一篇不错的基础教程。评论姑且不谈,我需要的是第一个。


首先是在你的Blog模版的评论页面(一般为comments.php)找到这句:


<?php foreach ($comments as $comment) : ?>


在后面加上(1*):



<?php $istback = false; if($comment->comment_type == ''trackback'') { $istback = true; } ?>
<?php $ispingb = false; if($comment->comment_type == ''pingback'') { $ispingb = true; } ?>


随后再找到这句:

<?php comment_text() ?>


在前后加上东西之后变成这个样子(2*):



<?php if($istback ) { echo ''<div class="tbcomment">'';} ?>
<?php if($ispingb ) { echo ''<div class="pbcomment">'';} ?>
<?php comment_text() ?>
<?php if($istback ) { echo ''</div>'';} ?>
<?php if($ispingb ) { echo ''</div>'';} ?>



当然,为了不那么打击自己而全部照抄,我做了点小小的修改:将(1*)更改为:



<?php $istb = false; if(get_comment_type() != "comment") { $istb = true; } ?>

这里就是图个简单,逆向思维,不是comment的当然就是Trackback和Pingback了:em06:


后面的(2*)也就一起简单了。



<?php if($istb ) { echo ''<div class="tbcomment">'';} ?>
<?php comment_text() ?>
<?php if($istb ) { echo ''</div>'';} ?>

最后,在样式表中添加这个CSS样式,就大功告成了:


.tbcomment {
font:italic 1em/140% Georgia,sans-serif;
color:gray;
}

勉强以此安慰下自己,还能有一小小的创新:em12:,不过我并没有彻底的将Comment和Trackback区分开来,单独显示。因为我的TB不算多,所以没有再去弄个插件影响速度,如果你有需要,可以看看这些地方,希望能对你有所帮助:





0 则评论:

除特别标注外,猪八的网:浮生志 的所有文章为 Zhu8™ 所有。
Blogging @ 2004-2022