记录生活 学习SEO优化 | 他日若遂凌云志 敢笑黄巢不丈夫
>>Home > 学习笔记 > 制作和海天博客一样的排行榜

制作和海天博客一样的排行榜

Tags: | | 作者:海天无影

虽然开博以来,海天的博客才出现了两位风云人物,但是海天的排行榜还是在每个月更新着,就算哪一个月忘了,经过随缘同学的提醒也会立即补上的。看到有朋友需要海天博客的排行榜调用代码,正好今天没东西写,嘿嘿就写下吧。

其实这个代码不是海天原创,因为网上的wordpress类似的代码很多,海天也只是放在一个页面里,就成了海天博客的排行榜了。

其实这段生成代码,是参照的万戈同学的代码。代码只调用当月的排行榜,然后海天再将上个月的排行榜截图下来,发表上去就OK了。

排行榜的调用代码,只需要将下列代码放入functions.php文件中

$identity="comment_author";
$passwordpost = " AND post_password=''";
$userexclude = " AND comment_author != '海天无影'"; //这个是去掉名为海天无影的用户头像
$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);

//real number of comments
function no_admin_number($no='', $one='', $twomore='') {
global $wpdb, $tablecomments, $post;
$comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_post_ID = $post->ID AND comment_type = '' AND comment_approved = '1' AND comment_author != '海天无影'");
$cnt = count($comments);
if (!$cnt)
echo $no;
elseif ($cnt == 1)
echo $one;
else
echo str_replace("%", $cnt, $twomore);
}

如果某个月你忘记截取图片了,只需要将其中的红色代码改为那个月份的数字,排行榜生成的就是那个月的排行了。

下面是制作排行榜页面了,新建文件listpage.php然后将下列代码复制进去,上传到根目录。

<?php
/*
Template Name: List Page Template PAGE
*/
?>
<?php get_header(); ?>
<div class="w970">
<div id="main">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div <?php post_class() ?> id="post-<?php the_ID(); ?>">
<p>排行的描述,你自己写吧,呵呵~</p>
<br />
<div class="listwall">
<ul class="ffox_most_active">
<?php if ( $counts ) : foreach ($counts as $count) :
echo '<li>' . '<div class="ffox_most_active_img"><a href="'. $count->comment_author_url . '" target="_blank" title="' . $count->comment_author . ' ('. $count->cnt . '层楼)"><img src="/wp-content/plugins/mini-gravatar-cache/iava/'.md5(strtolower($count->comment_author_email)).'.jpg" alt="' . $count->comment_author . ' ('. $count->cnt . '层楼)" width="48px" height="48px"/></a><p>' . $count->comment_author . '</p></div></li>';
endforeach; endif;
?>
</ul>
</div>
<div class="content">
<?php the_content(); ?>
</div>
</div>
<div id="myads" class="sy-ad"></div>
<?php comments_template(); ?>
<?php endwhile; else: ?>
<div class="post">哦!您要找的日志可能已经更换地址,重新搜索一下吧,或者点击<a title="Home" class="active" href="<?php echo get_option('home'); ?>/">这里</a>回首页看看吧</div>
<?php endif; ?>
</div>
<?php get_sidebar(); ?>
</div>
<?php get_footer(); ?>

然后去后台新建一个页面,模板选择你新建的文件listpage.php。这样以后发上个月排行榜的图的时候,只要直接在后台编辑页面,就可以了。

对了还有下面的css代码,复制到你的主题的style.css文件中,根据自己主题的需要更改细节:

.listwall {
width:620px;}
.ffox_most_active li {
float:left;
height:60px;
list-style:none outside none;
margin-left:5px;
overflow:hidden;
padding-bottom:20px;
width:70px;
}
.ffox_most_active_img{
height:48px;
text-align:center;
width:65px;
}
.ffox_most_active p {
text-align:center;
font-size:13px;
width:70px;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}

日志信息 »

该日志于2010-11-20 12:26由 海天无影 发表在学习笔记分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下转载到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

34条评论▼点击进行评论

  1. 速度啊 不用插件吗

    • 不用插件 直接代码 呵呵~
      额 那个代码放在function.php文件中 最好放在中间 不破换文件结构

  2. 杯具了 代码放入functions.php不行 出现错误啊

    • 额 我的怎么正常的
      你的提示什么啊
      放在function.php中间 不要破坏前后结构

      • 我不知道具体应该放在哪里!

        • 额 就是 functions.php文件啊
          只有不破坏开头和结尾 还有其他函数的{}就可以啊

          • 嗯 我再试试 要是不行我再问你 呵呵

  3. 你真勤奋,每个月都做我肯定会忘记

    • 额 哪里 好几次 都是随缘同学提醒的
      然后改个数字 补上的

  4. 这个真不错,晚上我就测试一下,看看效果啦。谢谢海天。 :cool:

  5. 海天的貌似要比我繁琐点
    我不用动function.php嘛。。。

    • 我这个主要方便调用 你可以用在页面 也可以在侧边
      貌似将代码直接加载那个页面里 应该也是可以的 下次我试试

  6. 这个代码我们zb也有,哈哈!

  7. 是哪个排行榜啊?

  8. 我没看到有排行

  9. 恩 zb好像也有哦!

  10. 看了下效果还不错哦。改天也折腾个玩玩。

  11. 排行榜,互动性会强点。

  12. 牛逼了 呵呵

  13. 电脑高手~~果然不同凡响

  14. 这个很有带动力哟,不错!

    • 嘿嘿 可惜在右上角 很多人不知道

  15. 这个真得顶 :roll:

    • 那是 你要不顶 就说不过去啦 呵呵~

  16. 有阵子没折腾wordpress了,这个互动排行蛮好的,不过我那博客人气也不高,懒得去弄了。

  17. 11月我还没有上,再加把劲,呵呵!

  18. 我的水墙时间限制是一年的,然后只显示前面的70名左右哈。。

    嘿嘿。。

    • 1年 好长啊 呵呵~

      • 嘿嘿 ,水墙嘛,可以一周,一个月,一个季,和一年的。
        我设置为一年的。

  19. 嘿嘿。再来踩海天一下哈。
    也提高下知名度哈。

    • 哈哈 欢迎~

      • 谢谢哈, :mrgreen:
        谢谢哈,又来了哈。

  20. 用代码实现 换主题的时候就的忙活一阵子了

    • 呵呵 就是把function.php里代码换个地方啊 很简单啊~

  21. 我一直觉得你这博客美化的越来越好看了,而且也有利于SEO

  22. 代码俺是看不懂了

    • 我晕 你看不懂?你是技术牛人啊~

  23. 我最近想弄个水墙,哈哈

  24. :roll: 学习中,进步中

  25. 直接放代码就可以了?不需要插件么 ;-)

  26. 我来看博主文章了,感谢分享哦!!1!

  27. 我没有这个头像缓存插件mini-gravatar-cache所以不行的

  28. 博主,牛人

  29. 不需要插件么 :razz:

  30. 头晕啊

icon_wink.gif icon_neutral.gif icon_mad.gif icon_twisted.gif icon_smile.gif icon_eek.gif icon_sad.gif icon_rolleyes.gif icon_razz.gif icon_redface.gif icon_surprised.gif icon_mrgreen.gif icon_lol.gif icon_idea.gif icon_biggrin.gif icon_evil.gif icon_cry.gif icon_cool.gif icon_arrow.gif icon_confused.gif icon_question.gif icon_exclaim.gif 

« 海天排行榜第二期风云人物随缘同学 祝我生日快乐 »