回调函数个性化 WordPress 评论样式
在看本文中前,建议各位先在下面留言试试小站最新的评论样式。因为之前遵从 zww 的建议,我把每页评论数从10条调整到25条,这样可以方便喜欢往前翻阅评论的访客,不过这样一来,就不可避免地拉长了每页显示的高度,这可就要累坏了各位的滚轮鼠标,出于人性化的考虑,我今天修改了一下 WordPress 评论样式,缩短了每条评论所占的高度,所以现在看起来评论格式就紧凑多了。下面简单记录一下修改过程中的要点。
我们都知道,Wordpress 2.7+的主题中被引入了 wp_list_comments 函数,可不要小看这一句函数啊,变化无穷哟。今天对评论样式的修改就是建立在 wp_list_comments 的 callback 回调函数上。
首先在 WordPress 主题的 functions.php 中添加对评论样式定义的 mytheme_comment 函数,默认值如下:
$GLOBALS['comment'] = $comment; ?>
<li <?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">
<div id="comment-<?php comment_ID(); ?>">
<div class="comment-author vcard">
<?php echo get_avatar($comment,$size='32',$default='<path_to_url>' ); ?>
<?php printf(__('<cite class="fn">%s</cite> <span class="says">says:</span>'), get_comment_author_link()) ?>
</div>
<?php if ($comment->comment_approved == '0') : ?>
<em><?php _e('Your comment is awaiting moderation.') ?></em>
<br />
<?php endif; ?>
<div class="comment-meta commentmetadata"><a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ?>"><?php printf(__('%1$s at %2$s'), get_comment_date(), get_comment_time()) ?></a><?php edit_comment_link(__('(Edit)'),' ','') ?></div>
<?php comment_text() ?>
<div class="reply">
<?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
</div>
</div>
<?php
}
所谓的默认值,就是在不调用该函数时,Wordpress 评论就按照上面的函数显示,也就是我之前的评论样式。这就可以根据每个主题,不同的需要自行修改了,稍微懂一些 Html 的朋友就可以自己 DIY 一下,别被其中的 php 吓倒了,梳理清楚就会发现并不难。
然后在 WordPress 主题的 comments.php 中用 callback 回调函数引入之前定义的 mytheme_comment 函数,方法如下:
<?php wp_list_comments('type=comment&callback=mytheme_comment'); ?>
</ul>
最后再扩展一下关于 callback 回调的用法,如果你的主题已经引入了 mytheme_comment 函数,那你不妨参考下 Willin 大师的迷你版 gravatar 头像缓存方法。我本来是用 WordPress 2.7+主题 gravatar 头像缓存方法的,今天多亏 callback 回调函数 mytheme_comment,我也可以用 Willin 大师的方法了,这样也就避免了 WordPress 版本升级带来的更新麻烦咯。
-
Wordpress 访客信息输入框美化2009年07月7日 -
个性化 Wordpress 评论框2009年06月25日 -
Wordpress 自定义顶部图像2011年01月29日 -
Wordpress 之欢迎 OOXX 归来2011年01月19日