By烟花易冷

读者墙不满意?好看的读者墙来一个!
2013-09-16

每一个不同的主题,读者墙都不相同,对现在读者墙不满意?好看的读者墙来一个!

话说这个读者墙的样式我记得我以前见过,好像是Ben做的,今天在新开的佐恩阁博客看到了,就Copy and Paste一小部分啦

首先我们需要把主题的page.php文件复制一份重命名为readerwall.php,用来制作读者墙模板,打开文档,在前面加上

<?php

/*

Template Name: readerwall

*/
?>

找到<?php the_content(); ?>并在它的前方加上以下代码:

<!-- start 读者墙  Edited By iSayme-->
<?php
$query="SELECT COUNT(comment_ID) AS cnt, comment_author, comment_author_url, comment_author_email FROM (SELECT * FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->posts.ID=$wpdb->comments.comment_post_ID) WHERE comment_date > date_sub( NOW(), INTERVAL 24 MONTH ) AND user_id='0' AND comment_author_email != '改成你的邮箱账号' AND post_password='' AND comment_approved='1' AND comment_type='') AS tempcmt GROUP BY comment_author_email ORDER BY cnt DESC LIMIT 39";//大家把管理员的邮箱改成你的,目的是从读者墙里面排除博客作者,最后的数字39是读者的个数,可以按照自己的情况修改!
$wall = $wpdb->get_results($query);
$maxNum = $wall[0]->cnt;
foreach ($wall as $comment)
 {
 $width = round(40 / ($maxNum / $comment->cnt),2);//此处是对应的血条的宽度
 if( $comment->comment_author_url )
 $url = $comment->comment_author_url;
 else $url="#";
 $avatar = get_avatar( $comment->comment_author_email, $size = '36', $default=   get_bloginfo('wpurl').'/avatar/default.jpg' );
 $tmp = "<li><a target=\"_blank\" href=\"".$comment->comment_author_url."\">".$avatar."<em>".$comment->comment_author."</em> <strong>+".$comment->cnt."</strong></br>".$comment->comment_author_url."</a></li>";
 $output .= $tmp;
}
 $output = "<ul class=\"readers-list\">".$output."</ul>";
 echo $output ;
?>
<!-- end 读者墙 -->

接着在style.css加入

.readers-list{line-height:18px;text-align:left;overflow:hidden;_zoom:1}
.readers-list li{width:200px;float:left;*margin-right:-1px}
.readers-list a,.readers-list a:hover strong{background-color:#f2f2f2;background-image:-webkit-linear-gradient(#f8f8f8,#f2f2f2);background-image:-moz-linear-gradient(#f8f8f8,#f2f2f2);background-image:linear-gradient(#f8f8f8,#f2f2f2)}
.readers-list a{position:relative;display:block;height:36px;margin:4px;padding:4px 4px 4px 44px;color:#999;overflow:hidden;border:#ccc 1px solid;border-radius:2px;box-shadow:#eee 0 0 2px}
.readers-list img,.readers-list em,.readers-list strong{-webkit-transition:all .2s ease-out;-moz-transition:all .2s ease-out;transition:all .2s ease-out}
.readers-list img{width:36px;height:36px;float:left;margin:0 8px 0 -40px;border-radius:2px}
.readers-list em{color:#666;font-style:normal;margin-right:10px}
.readers-list strong{color:#ddd;width:40px;text-align:right;position:absolute;right:6px;top:4px;font:bold 14px/16px microsoft yahei}
.readers-list a:hover{border-color:#bbb;box-shadow:#ccc 0 0 2px;background-color:#fff;background-image:none}
.readers-list a:hover img{opacity:.6;margin-left:0}
.readers-list a:hover em{color:#EE8B17;font:bold 12px/36px microsoft yahei}
.readers-list a:hover strong{color:#EE8B17;right:150px;top:0;text-align:center;border-r

理论上这样就OK了,我自己蛮喜欢我这套主题的读者墙,就没有改了,需要的朋友珍藏一下吧,下面来一张原博客的效果图,大家观望吧~~~~~
wordpress-reader-wall-2