看到别人的主题里面都有读者墙,只要在你博客里面留下评论的,评论者的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; 
 }
Last modification:April 11th, 2020 at 09:18 pm
如果觉得我的文章对你有用,请随意赞赏