我的读者墙,壮观的墙

    之前用插件实现了读者墙,后来wordpress升级到3.0以后插件不兼容就关闭了。昨晚找到一篇文章提到不用插件来实现读者墙的方法。赶紧一试效果还真不错。并且经过我的简单改进,解决了同时加载很多小头像时页面缓慢的问题。下面来看看过程:

    一、首先给大家看张我的读者墙的实际效果图吧:

    我的读者墙,壮观的墙

    查看地址:https://tsov.net/readerswall/

    二、新建一个页面的模板。创建模板的方法:
    1、在当前使用的主题文件夹中创建一个新模板,将它命名为 readerswall.php。
    2、接着在readerswall.php文件最上面加入下面的代码,用于在后台选择模板时的名称说明。

    <?php
    /*
    Template Name: 读者墙模板
    */
    ?>

    然后把 你主题的头部、底部等之类的代码拷贝到 readerswall.php 文件中(这一步可以先不动,等下看效果时少那部分再补上去你就明白为什么要把头部、底部这些公用的放进去了)。

    三、把下面的代码放在你模板中:

    <?php
    //start 读者墙
    $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_author !='simonsu' AND comment_author_email != 'simon@tsov.net' AND post_password='' AND comment_approved='1' AND comment_type='') AS tempcmt GROUP BY comment_author_email ORDER BY rand() LIMIT 400";
    $wall = $wpdb->get_results($query);
    foreach ($wall as $comment){
    if( $comment->comment_author_url )
    $url = $comment->comment_author_url;
    else $url="#";
    $tmp = "<a href='".$url."' target='_blank' title='".$comment->comment_author." (".$comment->cnt.")'>".get_avatar($comment->comment_author_email, 50)."";
    $output .= $tmp;
    }
    echo $output;
    //end 读者墙
    ?>

    四、登录后台,新建一个页面。标题、内容你就写"读者墙",页面模板就选择你刚在创建的模板。这样子实现了。

    五、一些细节、样式之类你继续调整下就OK了。若有不清楚的就留言给我吧。

    提示,若再结合我之前的《wordpress中把用户的头像从gravatar中缓存到本地于提高访问速度》。那么这个页面速度也大大提高了。

相关文章
HTTP状态代码及其含义通过.htaccess更正国外空间的时区问题使用google浏览器chrome扩展来监视wordpress的评论更改wordpress的评论用户的主页为新窗口打开通用设置htaccess来优化wordpress实现yslow评分达到A优化wordpress的图库(相册)lightbox效果博客与附件分家了wordrepss的HTML编辑模式添加链接增加target="_blank"写Wordpress博客不自动生成缩略图的方法wordpress实现附件分离到另一服务器wordpress半角引号变成全角引号问题的解决解决tsov出国后无法直接在后台备份及发送邮件的问题Tsov-Weather plus升级至1.4版(解决UTF-8编码和指定城市的功能)TSOV的wordpress天气插件功能升级了[紧急通告]TSOV的wordpress天气插件访问量过大,请更换分站地址网站PR更新的感悟我的wordpress weather widget(天气插件)饲养蜘蛛技巧随机读取数据库数据的代码(ACCESS)
    标签:代码wordpressgravatar 评论数:9 发布于:2010-09-08 13:36:04

当前共有9条评论,我也要发表:

    我的名字:

    我的邮箱:

    作者:cain时间:2012-06-25 20:34:17回复

      请问博主:如何实现作者墙? 就是显示 一个文章多的作者 列表 但是 不要用文字 而是用 用户头像 加上相应的链接……谢谢

      作者:SimonSu时间:2012-06-26 08:23:19回复

        你不是说了方法了吗?

    作者:Jessy时间:2010-12-31 16:14:29回复

      不错哦,呵呵

    作者:小杰博客时间:2010-10-08 10:06:42回复

      这个东西还是很不错的,呵呵。。。

    作者:heizichen时间:2010-09-19 22:50:47回复

      好了,学习了,偷走资料,多谢。

    作者:洛之水时间:2010-09-17 15:51:46回复

      读者墙的,我是用了一个插件,刚换上的。

      作者:simon时间:2010-09-17 16:09:54回复

        都一样。不用插件简洁点,效率也高一点。

    作者:xiulong时间:2010-09-08 23:01:50回复

      为什么 我总是收到很多关于你博客里面的邮件啊?

      作者:simon时间:2010-09-08 23:09:12回复

        你发表评论时就会给你的邮箱发一封。若我对你的评论有回复,也会再发一封。 如果你评论了多篇,那是一个评论一封的。 抽时间我会测试下发送是否有问题。 同时,咨询一下,你觉得你发表、回复会同时通知到你邮箱的方式有什么意见?