WordPress 免插件读者墙 willin 版本

我以前写过关于免插件读者墙的文章,那个版本是按每月评论最多的读者来排序的,也就是每月1号会清零重新计算。文章链接:用代码武装你的wordpress [part 1]

willin 后来根据这个修改了一下,唯一不同的 willin 修改的是按照最近 30 天内评论最多的读者排序的,我觉得这样更适合“最活跃的读者”的定义,所以我今晚换为 willin 这个版本了

因为 willin 的是使用 willin 的简单 gravatar 头像缓存的基础上的代码,我特意改出 2 个版本:1 个是针对没有使用头像缓存的,1 个是使用了头像缓存的。

一、没有使用头像缓存的读者墙代码:

<h2>Most Active Friends</h2> <ul class="ffox_most_active"> <?php $counts = $wpdb->get_results("SELECT COUNT(comment_author) 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 != 'zwwooooo' AND post_password='' AND comment_approved='1' AND comment_type='') AS tempcmt GROUP BY comment_author ORDER BY cnt DESC LIMIT 12"); foreach ($counts as $count) { $c_url = $count->comment_author_url; if ($c_url == '') $c_url = 'https://zww.me/'; $mostactive .= '<li class="mostactive">' . '<a href="'. $c_url . '" title="' . $count->comment_author . ' ('. $count->cnt . 'comments)">' . get_avatar($count->comment_author_email, 40) . '</a></li>'; } echo $mostactive; ?> </ul>

说明:

  1. 里面添加了 2 个 class:ffox_most_active 和 mostactive,根据自己模板在 style.css 设置样式吧
  2. 里面的 https://zww.me 改为你自己博客的网址
  3. 代码里面“DESC LIMIT 12”的 12 是要现示的读者数量
  4. 代码里面的“zwwooooo”是指除博主以外的意思,替换为自己的 WP 用户名吧

我的 css 样式参考:

#sidebar .ffox_most_active li{ list-style:none; float:left; border:none; line-height:0; } #sidebar .ffox_most_active img.avatar{ width:38px; height:38px; border:1px solid #ddd;padding:2px;margin:0 1px 0 0;}

二、使用了  willin 的简单 gravatar 头像缓存的读者墙代码:

<h2>Most Active Friends</h2> <ul class="ffox_most_active"> <?php $counts = $wpdb->get_results("SELECT COUNT(comment_author) 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 != 'zwwooooo' AND post_password='' AND comment_approved='1' AND comment_type='') AS tempcmt GROUP BY comment_author ORDER BY cnt DESC LIMIT 12"); foreach ($counts as $count) { $a = get_bloginfo('wpurl') . '/avatar/' . md5(strtolower($count->comment_author_email)) . '.jpg'; $c_url = $count->comment_author_url; if ($c_url == '') $c_url = 'https://zww.me/'; $mostactive .= '<li class="mostactive">' . '<a href="'. $c_url . '" title="' . $count->comment_author . ' ('. $count->cnt . 'comments)"><img src="' . $a . '" alt="' . $count->comment_author . ' ('. $count->cnt . 'comments)" class="avatar" /></a></li>'; } echo $mostactive; ?> </ul>

说明参考第一种

OK,CP吧 ,折腾吧

附 willin 的原文链接:《WordPress 免插件版侧边栏读者墙

zww
or
oooo

“WordPress 免插件读者墙 willin 版本”有180条评论

  1. WP就是强大,有这么多告诉在为WP做贡献,而BO就可怜了。

    1. zwwooooo says:

      没法子的事,人家游戏,而且喜欢折腾的人很多

  2. laofan says:

    很不错的东西,虽然我没认真研究,但是我是要鼓励你一下

    1. zwwooooo says:

      我也没认真研究啊,纯CP + 简单修改

  3. 图片太多了,容易让人感觉不爽,我就用hot-friends的链接云功能。

    1. zwwooooo says:

      链接云也是很简单的,只要把头像改为名字就得了,但我喜欢头像

  4. Z大,鼠标移到评论者上时的效果实在太酷啦!!

    1. zwwooooo says:

      哈,willin 的作品

  5. 奋飞 says:

    折腾吧,
    折腾

  6. 笑话 says:

    呵呵,不喜欢折腾~~学习下还是可以的

    1. zwwooooo says:

      学习也是折腾

  7. Hobo says:

    东西不错呵呵,等我换空间了一定加上

  8. Pray says:

    这代码挺不错的

  9. 麦小芽 says:

    我先标记一下,用的时候再来取,呵呵!

    1. zwwooooo says:

      请随意

  10. 铵铵 says:

    :lol: 使用中.

    1. zwwooooo says:

      不错吧

    2. 锋子 says:

      :sad: 按照你的文章 弄了 发现 有点小问题~ Willin的cp过去不行,万戈的也比行,用你说的显示了 可是评论里的头像 除了我的都不显示了~~~郁闷

    3. zwwooooo says:

      @锋子 第一次要自个多访问一下自己的博客缓存一下头像

    4. zwwooooo says:

      @锋子 哦,对了,如果你以前折腾过,把缓存目录的jpg清空一下

    5. 锋子 says:

      @zwwooooo 开始折腾css中 :grin: :grin:

    6. zwwooooo says:

      @锋子 慢慢折腾

  11. 锋子 says:

    :sad: 按照你的文章 弄了 发现 有点小问题~ Willin的cp过去不行,万戈的也比行,用你说的显示了 可是评论里的头像 除了我的都不显示了~~~郁闷

  12. 锋子 says:

    :razz: 行了 谢谢 你的好文章

  13. licream says:

    谢谢。已经弄好 了。是显示每月的吗?

    1. zwwooooo says:

      @licream 我文章里面说了,willin版本是按最近30天计算的,所以不是按自然月计算的。你要自然月计算的代码参考我以前发的文章:用代码武装你的wordpress [part 1]

    2. Aaron says:

      你好....我的博客用了你的方法以后,,出现的并不是其他读者墙的样式,效果请看下我的博客,,,希望能指点一下.谢谢

    3. zwwooooo says:

      @Aaron 我修改过代码了,你注意看看头像的函数对不对,正确的是下面的:

      get_avatar(get_comment_author_email('comment_author_email'), 40)

  14. 超人 says:

    :!: 现在都搞 gravatar缓存了...

    1. zwwooooo says:

      @超人 没办法,Gravatar官方网站慢了

  15. 疾风 says:

    怎么样屏蔽某个人啊?

    1. zwwooooo says:

      @疾风 comment_author != 'zwwooooo'里面的 zwwooooo 改为你要屏蔽的某个人,多用户用英文逗号分开,如

      comment_author != 'zwwooooo,abc,123'

    2. 疾风 says:

      @zwwooooo

      谢谢你 ^_^

      受你的启发我把一个卖减肥药的email 给屏蔽了 嘿嘿~··

    3. zwwooooo says:

      @疾风 我直接扔黑名单

  16. 朵未 says:

    先收藏~ 呵呵

  17. young says:

    没改好。不显图。可能是主体样式差别大。用了一个其他的。呵呵。不过好像修改样式表不起作用。想给图片加个边框

    1. young says:

      @young 第一个不缓冲的可以了,但图片挨着。我的样式表好像没改对

    2. zwwooooo says:

      @young 根据自己主题改css

    3. young says:

      @zwwooooo
      请教:
      我的主题是inove,我改成缓冲的。图也显了。格式改不好。我把代码放在

      Most Active Friends

      样式
      #northsidebar .widget.ffox_most_active li
      {
      list-style:none;
      float:left;
      border:none;
      line-height:0;
      }
      #northsidebar .widget.ffox_most_active img.avatar
      {
      width:38px;
      height:38px;
      border:1px solid #ddd;
      padding:2px;
      margin:0 1px 0 0;
      }
      结果 图片格式受原#siderba li 影响,要换行,背景图小圆点也显。

  18. young says:

    不好意思,代码提交不了。

    代码位置

    样式表应该大体怎么改

  19. young says:

    @young 这下行了,
    div id="sidebar"
    div id="northsidebar" class="sidebar"
    div class="widget"
    代码
    /div
    /div
    /div
    大体是这样,我不懂css,猜着写成
    #northsidebar .widget.ffox_most_active li
    {
    list-style:none;
    float:left;
    border:none;
    line-height:0;
    }
    #northsidebar .widget.ffox_most_active img.avatar
    {
    width:38px;
    height:38px;
    border:1px solid #ddd;
    padding:2px;
    margin:0 1px 0 0;
    }

    1. zwwooooo says:

      @young iNove的要先取消它的一些css属性,如:取消li的背景background:none;

      要控制line-height

    2. young says:

      @zwwooooo
      thanks.
      我感觉现在是#northsidebar .widget.ffox_most_active 对不对?好像不起作用

    3. zwwooooo says:

      @young 肯定不对 #northsidebar .widget.ffox_most_active

      这样(注意空格)
      #northsidebar .widget .ffox_most_active

    4. young says:

      @zwwooooo
      谢谢!起作用了。我再调整下。呵呵

    5. zwwooooo says:

      @young 慢慢折腾

    6. young says:

      @zwwooooo
      多谢指导,折腾得差不多了,不知能不能经受住检验。我自己在本地测了26个评论者。呵呵。刚把网站的也更新了,有错再折腾。 :smile:

  20. xiao3 says:

    再来取经! :razz:

发表评论

昵称 *

网址

B em del U Link Code Quote