看到别人的主题里面都有读者墙,只要在你博客里面留下评论的,评论者的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; }
我试一下,不过我只想在留言板中用,是不是可以直接加到留言板那个单页模板中
当然可以,只要是一个模板的文件就可以。