我的WordPress主题这样做(5)-留言头像的处理

在WordPress 2.6中增加了对未注册gravatar用户的头像选择功能,这样一来,基本上站内访客都可以有个可爱的头像了。但其中有一个小问题是,对于trackback及pingback的显示,它们能有专属的头像吗?我们可以通过对头像的调用代码作小小修改实现。

譬如,如果你在WordPress后台开启wavatar的显示,对于trackback及pingback的头像,只会显示如下:

trackback avatar 我的WordPress主题这样做(5) 留言头像的处理

虽然上面的公仔挺可爱,但它不代表trackback及pingback的,我们可以对主题的comments.php(一般情况下)内头像的调用语句:

<?php echo get_avatar( $comment, ‘32′ ); ?>

改为:

<?php
$comment_type = get_comment_type();
// 一般情况下的头像设置
if($comment_type == 'comment') :
echo get_avatar( get_comment_author_email(), '32' );
// Trackback和pingback的头像设置
elseif($comment_type == 'trackback' || $comment_type == 'pingback') :
echo "<img src='/wp-content/uploads/trackback.png' alt='Trackback/Pingback' class='avatar' />";
endif;
?>

上面的代码能简单实现trackback和pingback的头像分离,你需要做的只是在/wp-content/uploads/这个目录中(当然可以更改位置),放置你喜欢的trackback头像图片则可。效果如下图(本站),其中绿色的图标就是要TB和PB的显示头像了。

trackback avatar ex 我的WordPress主题这样做(5) 留言头像的处理

最后,如果你暂时对WordPress 2.6的升级还没有准备好,但却想实现上面的功能,你可以使用我之前介绍过的WordPress头像插件wavatars,而调用的代码则改为如下则可(红字处为变更部分):

<?php
$comment_type = get_comment_type();
// 一般情况下的头像设置
if($comment_type == 'comment') :
echo wavatar_show($comment->comment_author_email);
// Trackback和pingback的头像设置
elseif($comment_type == 'trackback' || $comment_type == 'pingback') :
echo "<img src='/wp-content/uploads/trackback32.png' alt='Trackback/Pingback' class='wavatar' />";
endif;
?>

以上就是今天要介绍的了,喜欢你会喜欢这个小技巧 icon wink 我的WordPress主题这样做(5) 留言头像的处理

分类:theme skill, WordPress;标签:, , , ;收藏本文的永久链接

18 Responses to “我的WordPress主题这样做(5)-留言头像的处理”

  1. inchan 回复此留言 2008/07/20 16:29 #comment-2746

    你还真细心,都能想到PINGBACK上去。

  2. Jinwen 回复此留言 2008/07/20 16:31 #comment-2747

    @inchan:呵,我每一刻都在想主题的事,因为觉得做个好的主题不简单,不单只有外表。

  3. Frozens 回复此留言 2008/07/21 02:50 #comment-2748

    强大的博主

    一直木有搞懂,哪个32是啥意思
    32PX*32PX?

  4. Jinwen 回复此留言 2008/07/21 09:08 #comment-2749

    @Frozens: 你说得对,是对头像的大小控制,单位是像素。

  5. sofish 回复此留言 2008/07/21 15:40 #comment-2750

    你的留言又变漂亮了,我喜欢那些序列号的显示方法,自己也一直没办法做到,不知道你是怎么实现的呢?

  6. shamas 回复此留言 2008/07/22 06:26 #comment-2751

    我的留言序列号总是显示在列表框的外面,也不知道自么处理

  7. sofish 回复此留言 2008/07/22 14:14 #comment-2754

    不是倒序,我是说,ol的显示方式,这样很好...

  8. Jinwen 回复此留言 2008/07/22 09:03 #comment-2752

    @shamas:你的序号代码是放在[ol]标签内了吗?
    @sofish:你说的是倒序的问题?要不我再写一篇说说 ;)

  9. 睡到自然醒blog 回复此留言 2008/07/22 10:23 #comment-2753

    启用过留言回复插件好像有问题啊

  10. schuen 回复此留言 2008/07/27 08:35 #comment-2757

    学会了, 哈哈

  11. lokr 回复此留言 2008/07/30 05:56 #comment-2756

    问一下 如何改变头像大小 我的这里显示的头像N大

  12. Jinwen 回复此留言 2008/07/30 09:15 #comment-2755

    @lokr: 如果是默认WordPress的代码是echo get_avatar( $comment, ‘32′ );这句中的数字32;
    如果是使用wavatar插件,则在其后台设置中更改的。

  13. FERRE 回复此留言 2008/10/26 21:05 #comment-2758

    不知道你是怎么实现的呢?

  14. 浙江印花之家 回复此留言 2008/12/29 11:50 #comment-3948

    你好,我用的是2.7了,我也上传了我自已的头像,路径是对的,但在前台却还是老样子,还是默认的图片.不知是什么原因/.

  15. haoziyanwo 回复此留言 2009/11/08 15:40 #comment-10622

    那wavatar还要装么???

  16. haoziyanwo 回复此留言 2009/11/08 15:40 #comment-10623

    我还是不懂啊。。。

    • Jinwen 回复此留言 2009/11/08 15:56 #comment-10624

      现在的WordPress都不用装这个插件了,在后台就直接可以选择了。


The trackbacks and pingpacks:

  • WordPress Theme Greyville - Moxida网摘 - Pingback on 08/09/29 14:42