WordPress评论样式之callback

在折腾这个Z-Turn主题的时候,评论部分花了很多的时间。因为我被弄糊涂了,我看到很多主题的写法都不一样--在弄这个Z-Turn主题的时候参考了很多WordPress主题,有多少我就记不清楚了,贴个图大家可以猜猜这里大概有多少个主题

theme

不过现在来看它们的写法,无非也就三种:

第一种是在comments.php里面写出具体的评论样式,以<?php foreach ($comments as $comment) : ?>开始<?php endforeach;?>为结尾,如果我没理解错的话这就是评论的Loop,在这里面定义了头像及大小、作者等具体的信息。这种写法常在较老的主题中出现。

<?php foreach ($comments as $comment) : ?>
<?php /* Check if author of blog */
if (get_comment_author_email() == get_the_author_email()) {
$oddcomment .= ‘ author’;
} ?>
<div id=”comment-<?php comment_ID() ?>”>
<div>
<a href=”<?php comment_author_url(); ?>” title=”Visit <?php comment_author(); ?>’s website” rel=”external nofollow”>
<?php $size = “56″; $email = get_comment_author_email(); $default = get_bloginfo(‘template_url’).’/images/gravatar.jpg’; ?>
<?php if (function_exists(‘get_avatar’)) { echo get_avatar( $email, $size, $default ); } else { ?>
<img src=”http://www.gravatar.com/avatar.php?gravatar_id=<?=md5($email)?>&amp;default=<?=$default?>&amp;size=<?=$size?>” height=”<?=$size?>” width=”<?=$size?>” />
<?php } ?>
</a>
</div>
<div>
<cite><b><?php comment_author_link() ?></b>
<small><a href=”#comment-<?php comment_ID() ?>” title=”Permanent link to this comment”><?php comment_date(‘F jS, Y’) ?> at <?php comment_time() ?></a>
<?php edit_comment_link(‘Edit’,’ &middot; ‘,”); ?></small></cite>
<?php if ($comment->comment_approved == ’0′) : ?>
<p style=”color:#C64021;”><b><?php _e(‘This comment is awaiting moderation.’); ?></b></p>
<?php else : ?>
<?php comment_text() ?>
<?php endif; ?>
</div>
</div>
<?php /* Changes every other comment to a different class */
if ($oddcomment != ”) $oddcomment = ”;
else $oddcomment = ‘ alt’; ?>
<?php endforeach; /* end for each comment */ ?>

第二种就很简单,代码见下

<ol class=”commentlist”>
<?php wp_list_comments(); ?>
</ol>

第三种和第二种也没多大变化,只是把上面的第二行改成了<?php wp_list_comments(‘type=comment&callback=mytheme_comment’);?>。凡是在我看过的主题中比较优秀的或最近出的都是属于这种写法,包括现在默认的Twentyten主题:

wp_list_comments( array( ‘callback’ => ‘twentyten_comment’ ) );

在functions.php中也可以找到对应的twentyten_comment函数(函数内容可以参考这里),仔细看的话其实和第一种的里面的内容差不多,代码却要简单得多。现在如果你要对评论样式进行修改,比如增加浏览器系统信息等就针对这个对应的函数就可以了

This entry was posted in WordPress, 日志随笔 and tagged , , . Bookmark the permalink.

70 Responses to WordPress评论样式之callback

  1. zhy says:

    学习了,用自己的函数显示评论 :razz:

  2. 作为代码小白的我头晕脑胀地飘过,呵呵

  3. Bee君 says:

    看来目前流行第三种,说实话,我看了好久也看不懂WordPress的评论那部分 = = ~

  4. 疾风 says:

    现在看到代码 头就晕

  5. 其实吧,我不爱看你的博客,因为你写的太好了,我嫉妒,哼哼

  6. vastar says:

    哈哈。这个callback见识过。。。

  7. su says:

    什么效果啊 看看先了啊

  8. :sad: 呵呵 这个不知道呢啊 先看看了啊

  9. Louis Han says:

    你还真是wp主题收藏家

  10. 小松 says:

    wp不是很懂哎~

  11. 流年 says:

    嗯,要么直接调用wp提供的函数,要么自己写算了

  12. 观尔腾 says:

    看来下了不少功夫啊~

  13. zwwooooo says:

    一般用callback函数吧,这样方便制作出比较个性的评论样式

  14. 七叶草 says:

    其实我一直都不知道callback是干什么用的,有时候感觉用起来还不方便

  15. MK says:

    我晕头转向了……不会代码的我,杯具

  16. 奶牛 says:

    吼吼,来学习咯~~~

  17. 5UIT! says:

    小站弄的还挺不错

  18. 恩,代码高亮就好了

  19. Jack Hsu says:

    还是用系统自己的函数效率比较高

  20. 北街 says:

    :roll: 不够明确哦~

  21. 晴天 says:

    很不错的哦!

  22. hcc says:

    链接先暂时不改

  23. 卢松松 says:

    zblog用户飘过啊

  24. 任鸟飞 says:

    这个都行了,无所谓的,wordpress自动的评论显示格式也有缺点,很多高手都用第一种,因为可以随心所欲。

  25. 人气真的很高呢。。

    500+M。 太恐怖了。。
    主题控呀!

  26. 志言 says:

    代码,小弟看不懂

  27. 呵呵回调函数,当时研究WP的时候就对这个函数很有兴趣的 :wink:

  28. 秋上书 says:

    对于俺来说 都是高手啊!

  29. 秋上书 says:

    :roll: 俺啥时候也能这么折腾

  30. 还是有排序的那种好些

  31. 朵未 says:

    这个俺不折腾了。目前感觉自己用的inove折腾的差不多了。 :mrgreen:

  32. laowi says:

    看一下是啥效果~

  33. 基本看不懂。。。。

  34. 久酷 says:

    折腾乐趣无穷

  35. 立青 says:

    博主真能折腾,什么时候帮我改一个可以不?先谢谢了

  36. Mucid says:

    twentyten这款主题的函数调用性也就是模块性很强啊!

  37. joyla says:

    哎!我的那个弄的是官方默认的!不方便!呵呵

  38. 可乐 says:

    纯支持了~WP真多好玩的地方~

  39. nfl jerseys says:

    有点复杂啊….

  40. david says:

    哈哈,我觉得也是哦。
    博主好用心哈。

    支持下

  41. 学夫子 says:

    是自己自定义的函数?我对wp那是一点都不熟悉的,呵呵

  42. snowxh says:

    神人。。下这么多主题

  43. Bubuto says:

    大家都在折腾主题,我先学习着

  44. forever says:

    :evil: 我的主题才变态。 不能记住评论者信息,而且不会修改~

  45. firefore says:

    真的很佩服你啊。我的评论代码是copy我爱水煮鱼的。哈哈。

  46. alexin says:

    你的URL怎么不采用英文或拼音呢?用中文感觉不协调,也不利SEO。

    另外,我看了贵博客的内容,比较感兴趣,想申请友链,不知可否? 我的博客:迷走映像 http://www.mizimage.com  如果可以,留言一下,我马上加上,谢谢

  47. 绍兴seo says:

    以后有时间是要好好学习一下wp的主题制作。谢谢分享

  48. NFL Gear says:

    这么多的人都在用WP主题制作 :idea:

  49. FORECE says:

    被吓到了。好大的文件夹啊。

  50. 这个主题有500多MB?

  51. Pingback: 在新窗口中打开 WordPress 评论者链接 | PlainFoam

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>