导航:#trackbacks代码
#代码解释
在《 修改trackback样式,统一评论外观 》中,我只是说了我对trackbacks的样式处理,并没有贴出代码,当然,原因我也说了,是因为我的wlw的代码插件无法使用了。今天终于搞定了这个代码插件,所以顺便也贴出那篇文章中的代码。
代码如下,大致结构就是这样:
<li <?php comment_class(); ?> id="#trackback-<?php comment_ID() ?>">
<div class="trackback-author">
<a href="<?php echo preg_replace('/http:\/\/(.*?)\/.*/ie', '"http://$1"', get_comment_author_url()); ?>" rel='external nofollow' target="_blank">
<img class="avatar avatar-32 photo" src="<?php echo preg_replace('/http:\/\/(.*?)\/.*/ie', '"http://$1/favicon.ico"', get_comment_author_url()); ?>" onload="javascript:this.style.background='none'" onerror="javascript:this.src='http://www.qiqiboy.com/files/links.gif'"/>
</a>
</div>
<div class="vcard">
<span class="fn"><a id="trackback-<?php comment_ID() ?>" href="<?php echo preg_replace('/http:\/\/(.*?)\/.*/ie', '"http://$1"', get_comment_author_url()); ?>" rel='external nofollow' target="_blank"><?php echo preg_replace('/[^\-\|]*(?:\-|\||«|»)([^\-\|]*)/ie', '"$1"',get_comment_author()); ?></a></span>
<span class="comment-meta trackbackmetadata"><a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ?>"><?php printf('%1$s %2$s', get_comment_date(), get_comment_time()) ?></a><?php edit_comment_link(__('(Edit)'),' ','') ?></span>
<span class="floor"><em><a href="#trackback-<?php comment_ID() ?>"><?php _e('#','SimPaled');echo ++$trackbackcount; ?></a></em></span>
</div><div class="fixed"></div>
<div id="trackbackbody-<?php comment_ID(); ?>" class="comment_text">
<strong><a href="<?php echo get_comment_author_url(); ?>" rel='external nofollow' target="_blank"><?php echo preg_replace('/([^\-\|]*?)(?:\-|\||«|»)[^\-\|]*/ie', '"$1"',get_comment_author()); ?></a></strong>
<?php comment_text() ?>
</div>
</li>
代码解释
在“class=’trackback-author’”这个DIV里,
1: <?php echo preg_replace('/http:\/\/(.*?)\/.*/ie', '"http://$1"', get_comment_author_url()); ?>
利用正则匹配出博客域名,然后头像获取是通过这句
1: <img class="avatar avatar-32 photo" src="<?php echo preg_replace('/http:\/\/(.*?)\/.*/ie', '"http://$1/favicon.ico"', get_comment_author_url()); ?>" onload="javascript:this.style.background='none'" onerror="javascript:this.src='http://www.qiqiboy.com/files/links.gif'"/>
具体的我在《一句代码美化你的链接页面模板(links.php)-自动显示favicon图标,非js方法》此文中已经提到过,当然,你也可以使用google的favicon图标缓存地址,改为以下形式
1: <img class="avatar avatar-32 photo" src="<?php echo preg_replace('/http:\/\/(.*?)\/.*/ie', '"http://www.google.com/s2/favicons?domain=$1"', get_comment_author_url()); ?>"/>
最后再说一下
1: <?php echo preg_replace('/[^\-\|]*(?:\-|\||«|»)([^\-\|]*)/ie', '"$1"',get_comment_author()); ?>
同样是利用正则,匹配出博客的名字,当做trackback的“名字”。
下面还有一句类似的,
1: <?php echo preg_replace('/([^\-\|]*?)(?:\-|\||«|»)[^\-\|]*/ie', '"$1"',get_comment_author()); ?>
则是去掉博客名字,匹配出文章标题。
OK,说完了。![]()