• 为读者建立免插件评论墙

    Category: 技术相关|Tech Author: pingcenter View: 123 viewsDate: 2010-03-17

    鲁迅说过,世上本没有路,走的人多了,就有了路。为了真诚的对待每一位来访者,尤其是留下脚印的同学,我决定为你们树立一块功绩榜,发言最多,踩踏最猛的同学排名最靠前,以此表彰你们对本博的贡献。我也会时时的关注此榜,默默的向你们行注目礼。正是源于你们的努力,让本来无路的本博渐渐的有了路。为纪念此路通车车,特立此文。

    修路过程准备:

    参考文献:万戈的 WordPress 免插件读者墙修订版,我按照万兄的路数来走,惊异的发现,他的方法在我的上面走不通!后来想了下,如果把两段代码合在一起,放在一个专门建立的php文件下,命名为readers_wall.php.然后呢,再在sideebar.php里把readers_wall.php包含进来,结果,嘿嘿,我所想要的就实现了。

    修路过程实施:

    不多说了,直接把代码贴上来,需要注意的是comment_author != ‘pingcenter’,在这里把pingcenter换为自己的wordpress登录名,如果有多个的话可以写为comment_author not in (‘pingcenter’,'admin’),对于变量

    $shownumber,可以根据自己的需求来设定,比如说我一行想显示六个头像,显四排,我就写24个。

      /**
        * 2010-3-17 评论墙的建立
        */
     
    <div id='readerswall'>
    < ?php 
     $identity="comment_author";
     $passwordpost = " AND post_password=''";
     $userexclude = " AND user_id='0' and comment_author != 'pingcenter'";
     $approved = " AND comment_approved='1'";
     $shownumber = 24;
     $counts = $wpdb->get_results("SELECT COUNT(" . $identity . ") 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 MONTH(comment_date)=MONTH(now()) and YEAR(comment_date)=YEAR(now())" .
     $userexclude . $passwordpost . $approved . ") AS tempcmt GROUP BY " . $identity . " ORDER BY cnt DESC LIMIT " . $shownumber);
     if ( $counts ) : foreach ($counts  as $count) :
     echo  '<a href="'. $count->comment_author_url . '" target="_blank" title="' . $count->comment_author . ' ('. $count->cnt . '层楼)"><img src="http://www.gravatar.com/avatar.php?gravatar_id='.md5($count- />comment_author_email).'&#038;size=33&#038;d=identicon&#038;r=G" alt="' . $count->comment_author . ' ('. $count->cnt . '层楼)" /></a>';
     endforeach; endif;
    ?></div>

    此外,还用到readswall的一个css,现一并贴上来。需声明一点的是,此样式参考了林木木同学的评论墙式样,在此表示感谢。

      /**
         * 2010-03-17 reader wall
         */
    div#readerswall {padding:10px 7px;}
    div#readerswall a{padding:3px}
    div#readerswall img {opacity: 0.8;background:#F4F4F4;border:1px solid #CCC!important;padding:1px;-webkit-box-shadow:2px 2px 6px #999;-moz-box-shadow:2px 2px 6px #999;}
    div#readerswall a:hover img {opacity: 1.0;}

    如果你还没有建立,那就别犹豫了,赶快行动吧,祝你好运。

相关日志

  • 评论 (11)
  • 引用通告 (0)
发表评论 发起引用

目前还没有任何Trackbacks和Pingbacks.

上一篇: 下一篇: