看到别人的主题里面都有读者墙,只要在你博客里面留下评论的,评论者的Gravatar图像都会以列表的形式存放到一个页面上,每个评论者的Gravatar图像都是一个博客的链接地址,只要点击这个图像,就会进入别人的博客。我感觉不错,
别人给你留言,你也能给别人提供一个链接。下面就由我来为大家说一下这个WordPress技巧。
效果图如下,这是我博客里面的读者墙:
好了,现在说代码。首先你得新建一个模板文件,比如readerwall.php,有如下代码:
<?php
/*
Template Name: Reader wall
*/
?>
<?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 = '60', $default = get_bloginfo('wpurl').'/avatar/default.jpg' );
$tmp = "<li><a target=\"_blank\" rel=\"nofollow\" title=\"".$comment->comment_author." 有".$comment->cnt."条评论\" href=\"".$comment->comment_author_url."\">".$avatar."</a></li>";
$output .= $tmp;
}
$output = "<ul class=\"readers-list\">".$output."</ul>";
echo $output ;
?>这是主要的代码,建完以后,你得新建一个页面,选择模板的时候,要选“Reader wall”
最后一步,就是用css修饰读者墙,把下面CSS代码如下加入你的style.css:
/**读者墙**/
.readerwall{
border-bottom:2px solid #cae1ff;
margin-bottom:10px;
}
.readers-list{
margin-bottom:5px;
height:100%;
padding:5px;
}
.readers-list li{
float:left;
margin:5px;
}
.readers-list li a{
float:left;
margin:5px;
border:2px solid #fff;
}
.readers-list li a:hover{
border:2px solid #123;
}



我试一下,不过我只想在留言板中用,是不是可以直接加到留言板那个单页模板中
当然可以,只要是一个模板的文件就可以。