今天,现在无聊的时候就折腾了一下评论列表的样式,顺便也试试VIP等级显示的功能,根据王桂明博主分享的文章,直接就成功了,现将具体的步骤分享如下(以HotNews主题为例):
第一步:把以下代码放入到主题functions.php文件最后一个?>的前面。
- //获取访客VIP样式
- function get_author_class($comment_author_email,$user_id){
- global $wpdb;
- $author_count = count($wpdb->get_results(
- “SELECT comment_ID as author_count FROM $wpdb->comments WHERE comment_author_email = ‘$comment_author_email’ “));
- /*如果不需要管理员显示VIP标签,就把下面一行的”//“去掉*/
- $adminEmail = get_option(‘admin_email’);if($comment_author_email ==$adminEmail) return;
- if($author_count>=10 && $author_count<20)
- echo ‘<a class=“vip1” title=“评论达人 LV.1”>’;</a
- else if($author_count>=20 && $author_count<40)
- echo ‘<a class=“vip2” title=“评论达人 LV.2”>’;</a
- else if($author_count>=40 && $author_count<80)
- echo ‘<a class=“vip3” title=“评论达人 LV.3”>’;</a
- else if($author_count>=80 && $author_count<160)
- echo ‘<a class=“vip4” title=“评论达人 LV.4”>’;</a
- else if($author_count>=160 &&$author_count<320)
- echo ‘<a class=“vip5” title=“评论达人 LV.5”>’;</a
- else if($author_count>=320 && $author_count<640)
- echo ‘<a class=“vip6” title=“评论达人 LV.6”>’;</a
- else if($author_count>=640)
- echo ‘<a class=“vip7” title=“评论达人 LV.7”>’;</a
- }
</640)
</320)
</160)
</80)
</40)
</20)
第二步:打开HotNews主题functions.php文件,找到:
在后面添加如下代码:
- <?php get_author_class($comment->comment_author_email,$comment->user_id); ?><?php if(user_can($comment->user_id, 1)){echo ““;}; ?>
第三步:把以下代码加入到我们的style.css文件中。
- /*评论者VIP显示功能的样式*/
- .vp,.vip,.vip1,.vip2,.vip3,.vip4,.vip5,.vip6,.vip7{background: url(images/vip.png) no-repeat;display: inline–block;overflow: hidden;border: none;}
- .vp{background-position:-515px –2px;width: 16px;height: 16px;margin-bottom: –3px;}
- .vp:hover{background-position:-515px –22px;width: 16px;height: 16px;margin-bottom: –3px;}
- .vip{background-position:-494px –3px;width: 16px;height: 14px;margin-bottom: –2px;}
- .vip:hover{background-position:-494px –22px;width: 16px;height: 14px;margin-bottom: –2px;}
- .vip1{background-position:-1px –2px;width: 46px;height: 14px;margin-bottom: –1px;}
- .vip1:hover{background-position:-1px –22px;width: 46px;height: 14px;margin-bottom: –1px;}
- .vip2{background-position:-63px –2px;width: 46px;height: 14px;margin-bottom: –1px;}
- .vip2:hover{background-position:-63px –22px;width: 46px;height: 14px;margin-bottom: –1px;}
- .vip3{background-position:-144px –2px;width: 46px;height: 14px;margin-bottom: –1px;}
- .vip3:hover{background-position:-144px –22px;width: 46px;height: 14px;margin-bottom: –1px;}
- .vip4{background-position:-227px –2px;width: 46px;height: 14px;margin-bottom: –1px;}
- .vip4:hover{background-position:-227px –22px;width: 46px;height: 14px;margin-bottom: –1px;}
- .vip5{background-position:-331px –2px;width: 46px;height: 14px;margin-bottom: –1px;}
- .vip5:hover{background-position:-331px –22px;width: 46px;height: 14px;margin-bottom: –1px;}
- .vip6{background-position:-441px –2px;width: 46px;height: 14px;margin-bottom: –1px;}
- .vip6:hover{background-position:-441px –22px;width: 46px;height: 14px;margin-bottom: –1px;}
- .vip7{background-position:-611px –2px;width: 46px;height: 14px;margin-bottom: –1px;}
- .vip7:hover{background-position:-611px –22px;width: 46px;height: 14px;margin-bottom: –1px;}
第四步:把VIP图片扔到我们的博客主题images文件夹。
以上办法和代码来源于:王桂明’s Blog »《》。
具体的效果见下图:
不过,大部分博客网站的评论VIP等级都是一样的图标,本打算换一张图片,可惜找了大半天都没有找到满意的,后来就想,为什么一定要显示图片呢,显示文字行不行?就好比QQ群的等级一样,而且可选择的范围就大很多啊,所以决定去掉评论VIP等级图标,改为显示评论等级。
评论等级暂定为:农民(≥1)、队长(≥10)、村长(≥20)、镇长(≥40)、县长(≥80)、市长(≥160)、省长(≥320)、总理(≥640)、主席(≥1280),共9个级别。
具体的实现方法跟添加评论VIP等级差不多,只需要三步即可实现:
1、把上面第一步的代码修改一下就可以,具体代码如下:
- //获取评论者等级称号
- function get_author_class($comment_author_email,$user_id){
- global $wpdb;
- $author_count = count($wpdb->get_results(
- “SELECT comment_ID as author_count FROM $wpdb->comments WHERE comment_author_email = ‘$comment_author_email’ “));
- /*管理员不需要显示等级称号*/
- $adminEmail = get_option(‘admin_email’);if($comment_author_email ==$adminEmail) return;
- if($author_count>=1 && $author_count<10)
- echo ‘ <span class=“dengji”>【农民】’;</span
- else if($author_count>=10 && $author_count<20)
- echo ‘ <span class=“dengji”>【队长】’;</span
- else if($author_count>=20 && $author_count<40)
- echo ‘ <span class=“dengji”>【村长】’;</span
- else if($author_count>=40 && $author_count<80)
- echo ‘ <span class=“dengji”>【镇长】’;</span
- else if($author_count>=80 && $author_count<160)
- echo ‘ <span class=“dengji”>【县长】’;</span
- else if($author_count>=160 &&$author_count<320)
- echo ‘ <span class=“dengji”>【市长】’;</span
- else if($author_count>=320 && $author_count<640)
- echo ‘ <span class=“dengji”>【省长】’;</span
- else if($author_count>=640 && $author_count<1280)
- echo ‘ <span class=“dengji”>【总理】’;</span
- else if($author_count>=1280)
- echo ‘ <span class=“dengji”>【主席】’;</span
- }
</1280)
</640)
</320)
</160)
</80)
</40)
</20)
</10)
2、把上面第二步中的代码修改一下,修改好的代码如下:
- <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、把上面第三步添加的样式删除,重新添加以下样式(具体颜色自己调整):
- .dengji,.duzhe {
- font-size:14px;
- }
至此,已经实现了给评论者添加评论等级称号的功能,具体效果图请看本站的留言/评论。