Single

HotNews主题添加评论VIP等级显示功能

今天,现在无聊的时候就折腾了一下评论列表的样式,顺便也试试VIP等级显示的功能,根据王桂明博主分享的文章,直接就成功了,现将具体的步骤分享如下(以HotNews主题为例):

第一步:把以下代码放入到主题functions.php文件最后一个?>的前面。

  1. //获取访客VIP样式
  2. function get_author_class($comment_author_email,$user_id){
  3. global $wpdb;
  4. $author_count = count($wpdb->get_results(
  5. “SELECT comment_ID as author_count FROM $wpdb->comments WHERE comment_author_email = ‘$comment_author_email’ “));
  6. /*如果不需要管理员显示VIP标签,就把下面一行的”//“去掉*/
  7. $adminEmail = get_option(‘admin_email’);if($comment_author_email ==$adminEmailreturn;
  8. if($author_count>=10 && $author_count<20)
  9. echo ‘<a class=“vip1” title=“评论达人 LV.1”>’;</a 
  10. else if($author_count>=20 && $author_count<40)
  11. echo ‘<a class=“vip2” title=“评论达人 LV.2”>’;</a 
  12. else if($author_count>=40 && $author_count<80)
  13. echo ‘<a class=“vip3” title=“评论达人 LV.3”>’;</a 
  14. else if($author_count>=80 && $author_count<160)
  15. echo ‘<a class=“vip4” title=“评论达人 LV.4”>’;</a 
  16. else if($author_count>=160 &&$author_count<320)
  17. echo ‘<a class=“vip5” title=“评论达人 LV.5”>’;</a 
  18. else if($author_count>=320 && $author_count<640)
  19. echo ‘<a class=“vip6” title=“评论达人 LV.6”>’;</a 
  20. else if($author_count>=640)
  21. echo ‘<a class=“vip7” title=“评论达人 LV.7”>’;</a 
  22. }
  23. </640)

    </320)

    </160)

    </80)

    </40)

    </20)

第二步:打开HotNews主题functions.php文件,找到:

在后面添加如下代码:

  1. <?php get_author_class($comment->comment_author_email,$comment->user_id); ?><?php if(user_can($comment->user_id, 1)){echo ;}; ?>

第三步:把以下代码加入到我们的style.css文件中。

  1. /*评论者VIP显示功能的样式*/
  2. .vp,.vip,.vip1,.vip2,.vip3,.vip4,.vip5,.vip6,.vip7{backgroundurl(images/vip.png) no-repeat;displayinlineblock;overflowhidden;bordernone;}
  3. .vp{background-position:-515px –2px;width16px;height16px;margin-bottom: –3px;}
  4. .vp:hover{background-position:-515px –22px;width16px;height16px;margin-bottom: –3px;}
  5. .vip{background-position:-494px –3px;width16px;height14px;margin-bottom: –2px;}
  6. .vip:hover{background-position:-494px –22px;width16px;height14px;margin-bottom: –2px;}
  7. .vip1{background-position:-1px –2px;width46px;height14px;margin-bottom: –1px;}
  8. .vip1:hover{background-position:-1px –22px;width46px;height14px;margin-bottom: –1px;}
  9. .vip2{background-position:-63px –2px;width46px;height14px;margin-bottom: –1px;}
  10. .vip2:hover{background-position:-63px –22px;width46px;height14px;margin-bottom: –1px;}
  11. .vip3{background-position:-144px –2px;width46px;height14px;margin-bottom: –1px;}
  12. .vip3:hover{background-position:-144px –22px;width46px;height14px;margin-bottom: –1px;}
  13. .vip4{background-position:-227px –2px;width46px;height14px;margin-bottom: –1px;}
  14. .vip4:hover{background-position:-227px –22px;width46px;height14px;margin-bottom: –1px;}
  15. .vip5{background-position:-331px –2px;width46px;height14px;margin-bottom: –1px;}
  16. .vip5:hover{background-position:-331px –22px;width46px;height14px;margin-bottom: –1px;}
  17. .vip6{background-position:-441px –2px;width46px;height14px;margin-bottom: –1px;}
  18. .vip6:hover{background-position:-441px –22px;width46px;height14px;margin-bottom: –1px;}
  19. .vip7{background-position:-611px –2px;width46px;height14px;margin-bottom: –1px;}
  20. .vip7:hover{background-position:-611px –22px;width46px;height14px;margin-bottom: –1px;}

第四步:把VIP图片扔到我们的博客主题images文件夹。

以上办法和代码来源于:王桂明’s Blog »《》。

具体的效果见下图:

不过,大部分博客网站的评论VIP等级都是一样的图标,本打算换一张图片,可惜找了大半天都没有找到满意的,后来就想,为什么一定要显示图片呢,显示文字行不行?就好比QQ群的等级一样,而且可选择的范围就大很多啊,所以决定去掉评论VIP等级图标,改为显示评论等级。

评论等级暂定为:农民(≥1)、队长(≥10)、村长(≥20)、镇长(≥40)、县长(≥80)、市长(≥160)、省长(≥320)、总理(≥640)、主席(≥1280),共9个级别。

具体的实现方法跟添加评论VIP等级差不多,只需要三步即可实现:

1、把上面第一步的代码修改一下就可以,具体代码如下:

  1. //获取评论者等级称号
  2. function get_author_class($comment_author_email,$user_id){
  3. global $wpdb;
  4. $author_count = count($wpdb->get_results(
  5. “SELECT comment_ID as author_count FROM $wpdb->comments WHERE comment_author_email = ‘$comment_author_email’ “));
  6. /*管理员不需要显示等级称号*/
  7. $adminEmail = get_option(‘admin_email’);if($comment_author_email ==$adminEmailreturn;
  8. if($author_count>=1 && $author_count<10)
  9. echo ‘ <span class=“dengji”>【农民】’;</span 
  10. else if($author_count>=10 && $author_count<20)
  11. echo ‘ <span class=“dengji”>【队长】’;</span 
  12. else if($author_count>=20 && $author_count<40)
  13. echo ‘ <span class=“dengji”>【村长】’;</span 
  14. else if($author_count>=40 && $author_count<80)
  15. echo ‘ <span class=“dengji”>【镇长】’;</span 
  16. else if($author_count>=80 && $author_count<160)
  17. echo ‘ <span class=“dengji”>【县长】’;</span 
  18. else if($author_count>=160 &&$author_count<320)
  19. echo ‘ <span class=“dengji”>【市长】’;</span 
  20. else if($author_count>=320 && $author_count<640)
  21. echo ‘ <span class=“dengji”>【省长】’;</span 
  22. else if($author_count>=640 && $author_count<1280)
  23. echo ‘ <span class=“dengji”>【总理】’;</span 
  24. else if($author_count>=1280)
  25. echo ‘ <span class=“dengji”>【主席】’;</span 
  26. }
  27. </1280)

    </640)

    </320)

    </160)

    </80)

    </40)

    </20)

    </10)

2、把上面第二步中的代码修改一下,修改好的代码如下:

  1. <span class=“duzhe”><?php get_author_class($comment->comment_author_email,$comment->user_id); ?><?php if(user_can($comment->user_id, 1)){echo ‘<span class=“dengji”>【站长】’;}; ?></span </span 

3、把上面第三步添加的样式删除,重新添加以下样式(具体颜色自己调整):

  1. .dengji,.duzhe {
  2.     font-size:14px;
  3. }

至此,已经实现了给评论者添加评论等级称号的功能,具体效果图请看本站的留言/评论。