现在的位置: 首页 > Wordpress > WP技巧 > 正文
WordPress免插件读者墙之页面版
2010年06月30日 WP技巧 ⁄ 共 1742字 评论数 52 ⁄ 被围观 7,885+

关于读者墙这个话题已经折腾过好几回了,像之前的WordPress插件:wp- reader-wall读者墙是利用插件实现在文章或者页面中添加读者墙的效果。后来为了能在侧边栏里也能显示,所以后来又折腾了WordPress非插件读者墙

由于前段时间把wordpress从2.9.2升级到了3.0,而wp-reader-wall插件也随之失效。咨询了插件作者也并有得到回复,而且发现多数童鞋都有这样的问题,本想放弃使用此项功能的,不过昨天林西老九等童鞋建议还是把这个墙筑起来比较好。正好看到快乐啦-Happyla的WordPress升级3.0后里正好涉及到这个问题,二话没说,赶紧折腾。

折腾发现,首先要明确思路:

首先用页面版读者墙(和我以前的WordPress 非插件读者墙类似)代码建立一个读者墙模板,然后后台建立页面选择commentswall模板即可。

虽然看上去很简单,但我之前都没有注意到在编辑文章或者页面的时候还可以选择不同的模板,一般都是默认的模板。明确思路后就简单了,因为我对模板代码什么的不是很熟悉,所以直接利用的是主题自带的page.php也就是页面模板文件。打开page.php文件另存为commentswall.php文件,在最前面加上下面的代码:

<?php
/*
Template Name: commentswall
*/
?>

表示要用调用commentswall模板,然后再在文件里面适当的位置添加非插件版读者墙的代码:

<!-- start 读者墙 -->
<?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 1 MONTH ) AND user_id='0' AND comment_author_email != '你自己的email地址' AND post_password='' AND comment_approved='1' AND comment_type='') AS tempcmt GROUP BY comment_author_email ORDER BY cnt DESC LIMIT 40";
    $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."' title='".$comment->comment_author." (".$comment->cnt.")'>".get_avatar($comment->comment_author_email, 40)."</a>";
        $output .= $tmp;
     }
    $output = "<div id='readerswall'><h2>Most Active Friends</h2>".$output."</div>";
    echo $output ;
?>
<!-- end 读者墙 -->

注意修改其中你的“email地址”以及你需要显示的头像大小及数目。先保存好此commentswall.php文件上传到你所用的主题目录下,最后在后台新建一个页面,内容自定,最后在右侧选择使用的模板文件为commentswall即可。到此,wordpress免插件读者墙之页面版就完美实现了,效果还是看我的给我留言

熟悉代码的童鞋还可以自己定义commentswall.php文件,不一定完全引用page.php里的内容,我这样做只是为了偷懒而已。如果还有什么问题可以参考朵夫的《WordPress升级3.0后》以及荒野无灯的《WordPress免插件版读者墙》



【上篇】
【下篇】

目前有 52 条留言 其中:访客:50 条, 博主:0 条

  1. 亿品元素 : 2010年08月19日15:40:21  31楼

    已经折腾上了这功能

  2. 求索阁 : 2010年08月21日09:28:59  32楼

    这个怎么让它在新窗口中打开读者墙里的网址啊?


    • 管理员
      admin : 2010年08月21日14:28:28  地下1层

      貌似我的好像就是在新窗口打开的 你有没有设置过external 这个标签
      如果没有 可以参考我的一篇文章 利用jQuery实现链接在新窗口打开

  3. 求索阁 : 2010年08月21日10:56:10  33楼

    我想只显示:最近三个月,留言超过三条的读者,怎么实现呀? :mrgreen:


    • 管理员
      admin : 2010年08月21日14:31:16  地下1层

      试着把 “INTERVAL 1 MONTH”中的1换成3看看
      至于留言超过3条显示 你可以考虑控制总显示数量 这样一来留言较少的便不会显示了

  4. fei0kite : 2010年09月24日18:08:00  34楼

    我还在研究。悲哀。还未成功 ➡

  5. sumvo波之 : 2010年09月26日13:28:37  35楼

    不错 在用了 谢谢分享

  6. only博客 : 2010年10月06日07:00:20  36楼

    博主,本篇文章,代码部分,在你这里显示错位了,侧边栏都是这篇文章的代码,貌似你的single.php文件有问题

  7. 优趣 : 2010年12月04日04:03:02  37楼

    学习了、我去试试!

  8. SOHO一族 : 2010年12月07日03:38:45  38楼

    博客人气很旺啊!可惜我对代码啥的一窍不通,现在没有插件能实现了吗?


如果觉得文章或者网站对您有帮助请点击 向TA付款 捐赠作者或者点击下面的分享按钮支持作者

更多

给我留言

留言无头像?

无觅相关文章插件,快速提升流量

×