wordpress首页列表显示每篇的评论头像
只看标题也许还未明白,我要实现的是,在首页的文章列表里,每篇文章显示指定数量的评论者gravatar头像,就是这么蛋疼的效果,在搜索里无法找到实现的方法,虽然有一两篇文章有提到方法,但是仍然不能实现只显示指定数量的头像效果。
曾实在想不出方法,试图修改免插件的评论排行版代码,结果显然是失败了,事实证明,我是多么的天真无知,就因为我不懂代码,最后找到了其他方法,百般尝试以后,被我折腾出效果来,可想而知,我对问题凭着一定要达到目的的精神,再次验证了那句话,只要努力,就一定会成功。
方法:
在WordPress主题的index.php文件的文章调用循环内,即while (have_posts()) : the_post();
和endwhile;
之间适当位置,添加以下代码:
<?php
global $withcomments;
$withcomments = true;
comments_template("/index-comments.php"); //调用模版
?>
如果你不用模版:上面的代码可以直接用:comments_template(); 但是这种方法跟文章页面调用评论没什么两样,最后会在首页显示一大堆评论信息和评论发表框,如何让它只显示评论者的gravatar头像,并且是指定数量,我想懂代码的一定很快就能折腾出来,但是不懂的,得尝试N次才能试出效果来。
我的模版是这样的:(另外还需要配合css才能控制显示效果)
<?php // Do not delete these lines
if ('comments.php' == basename($_SERVER['SCRIPT_FILENAME']))
die ('Please do not load this page directly. Thanks!');if (!empty($post->post_password)) { // if there's a password
if ($_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password) { // and it doesn't match the cookie
?><p class="nocomments">This post is password protected. Enter the password to view comments.</p>
<?php
return;
}
}/* This variable is for alternating comment background */
$oddcomment = 'class="alt" ';
?><!-- You can start editing here. -->
<?php if ($comments) : ?>
<ol class="commentlist">
<ul class="comments-authors">
<li class="comments-avatar1">
<!--<div style="margin-top:3px; height:10px;"></div>-->
<?php foreach ($comments as $comment) : ?>
<a href="#" title="<?php comment_text() ?>"><?php if(function_exists('get_avatar')) { echo get_avatar($comment, '40'); } ?></a>
<!--
<h4 class="commentauthor">
<?php comment_author_link() ?>:
</h4>
<?php if ($comment->comment_approved == '0') : ?>
<em>Your comment is awaiting moderation.</em>
<?php endif; ?><?php comment_text() ?><span style="float:left;"></span> --><?php
/* Changes every other comment to a different class */
$oddcomment = ( empty( $oddcomment ) ) ? 'class="alt" ' : '';
?><?php endforeach; /* end for each comment */ ?>
</ol></li></ul>
<?php else : // this is displayed if there are no comments so far ?>
<?php if ('open' == $post->comment_status) : ?>
<!-- If comments are open, but there are no comments. -->
<div class="post-content">
<div class="comment-counter">
<?php comments_popup_link(__( '0 Comments' ), __( '1 Comment' ), __( '% Comments' )); ?>
</div>
</div>
<ol class="commentlist" style="margin-bottom:0;">
<li style="min-height:77px;">
<h4 class="commentauthor">
No comments so far. Share your thoughts!
</h4>
</li>
</ol><?php else : // comments are closed ?>
<!-- If comments are closed. -->
<p class="nocomments">Comments are closed.</p><?php endif; ?>
<?php endif; ?>
如果有闲的慌的,可以玩玩,我已经把这个效果去掉了,感觉页面太大了,加载比较慢,不过你如果是一个喜欢折腾,并且喜欢有个性的,不妨也像这个站点一样,看看功能是否很给力,具体效果可以看看:www.takeasy.info 我感觉这个站点的主题很不错,作者玩的很有个性很出色,毕竟gae空间就是拿来玩的。
上一篇:令人蛋疼的西游记点解
是的,,不管什么事情只要努力了一定能成功的
yes,努力吧。
还是过来看看了,呵呵
其实……你直接用get_comments(),然后foreach输出比较简单,稍后我写篇文章你参考参考,互相学习
期待啊,呵呵 :)
这个效果有创意
恩,有空试试。
效果挺不错的,。
恩,我感觉挺好的。
很喜欢这样的文章,继续
又遇代码帝 我哭泣
哈。支持了。
这样首页不就慢了?
这个技术看看吧,还是搞不明白.
支持
天下无难事,只怕有心人,只要努力,就一定会成功。
难道是想修改我的狼头?
哈哈,你大侠一个,我怎么敢~~ 武林至尊啊!
很不错的创意啊
我有头像了,哈哈!阿修罗更新文章喽,快来瞧瞧吧!
很快就去,呵呵。