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空间就是拿来玩的。
上一篇:令人蛋疼的西游记点解
SPAM太多也会让人不愿评论的。。
———-
置百丈玄冰而崩裂,掷须臾池水而漂摇。
搜索到相关知识,不错!
我是来围观的!!
恩,围围。
谢谢提供这文章,呵
创意不错,诱惑别人抢前三。hoho~~~
百度一下就会看到了,文章都上百度了
代码看着就累啊 要是插件直接搞定?
过来看了一下。的确说得很有道理
顶顶更健康
挺不错的功能实现吧
zww兄弟的方法更好。
支持
我过来看看了,支持一个
看到文章很不错就回复一下了
呵呵,看了你的的文章,心情好多了,我做童装批发的,就不如你们做网络的清闲,每天好忙哦。。。
这个广告手法好!
恩不错,支持下