首页 > CMS > Wordpress > 正文

WordPress中添加留言用户等级显示(头像)功能

2024-09-07 00:50:18
字体:
来源:转载
供稿:网友

WordPress默认是没有留言用户等级显示功能了,下面我来详细介绍给WordPress中添加留言用户等级显示头像的功能,各位朋友有兴趣可参考.

方法一:把主题的根目录下的 single.php)须有评论功能)复制并重命名为 guestbook.php,把comments.php 复制并重命名为 guestcomments.php,名称可以自定,在 guestbook.php 的开头加入如下代码:

  1. <?php 
  2. /* 
  3. Template Name: GuestBook 
  4. */ 
  5. ?> 

然后在guestbook.php里找到如下代码:

<?php comments_template();?>替换成:

<?php comments_template('/guestcomments.php');?>

新建一个留言板页面,这时右边栏会多出一个模板选择栏,选择"页面模板"为GuestBook,然后再修改guestcomments.php,在guestcomments.php里面找到如下代码:

<?php if ($comments) : ?>,在后面加上<?php $comments = array_reverse($comments) ?>。

找不到"页面模板"的解决办法:

wp-admin/edit-page-form.php里面代码里面有个地方需要修改下,找到如下代码:

<?php if ( 0 != count( get_page_templates() ) ) { ?>修改成

<?php if ( 110 != count( get_page_templates() ) ) { ?>

实现方法二

一、添加CSS 样式代码:

使用Notepad++打开主题根目录的style.css,在里面添加下面的代码,注:因为图片进行了CSS sprites 合并,因此CSS 代码可能跟大家平时看到的不太一样)

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

二、添加调用函数

1.使用Notepad++打开主题根目录的functions.php,在里面添加下面的代码,注:下面的红色部分是鼠标停靠时显示的title信息,大家可以个性化定义,蓝色的数字是阈值,大家也可以根据需求自定义),实例代码如下:

  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 = 
  6. '$comment_author_email' ")); 
  7. /*如果不需要管理员显示VIP标签,就把下面一行的"//"去掉*/ 
  8. //$adminEmail = get_option('admin_email');if($comment_author_email ==$adminEmail) return; 
  9. if($author_count>=1 && $author_count<10) 
  10. echo '<a class="vip1" title="千年等一回"></a>'
  11. else if($author_count>=10 && $author_count<30)  
  12. echo '<a class="vip2" title="偶尔来看看"></a>'
  13. else if($author_count>=30 && $author_count<60) 
  14. echo '<a class="vip3" title="饭后必来"></a>';  
  15. else if($author_count>=60 && $author_count<160)  
  16. echo '<a class="vip4" title="经常来逛逛"></a>';  
  17. else if($author_count>=160 &&$author_count<320)  
  18. echo '<a class="vip5" title="每天必须来一次"></a>';  
  19. else if($author_count>=320 && $author_count<640)  
  20. echo '<a class="vip6" title="对博主有好感"></a>';  
  21. else if($author_count>=640)  
  22. echo '<a class="vip7" title="此人暗恋博主"></a>';  

2.使用Notepad++的文件夹搜索特定字符功能,查找下面的代码位置(使用方法,打开Notepad++点击菜单栏的"搜索"-选择"在文件夹中搜索"-定义好搜索目录,把下面的代码作为搜索的"查找目标")

实例代码如下:<?php comment_author_link() ?>

在后面加入如下代码:

<?php get_author_class($comment->comment_author_email,$comment->user_id)?>

如果你想博主显示认证图标,那么继续在后面加入如下代码:

  1. <?php if(user_can($comment->user_id, 1)){echo "<a title='博主认证' class='vip'></a>";}; ?> 

三、添加评论VIP 等级图片(上面已经说了,这个是使用了CSS sprites 合并,因此1个图片就搞定了),把下面的图片另存为 vip.png 到你电脑,然后上传到你的主题根目录的images 文件夹里即可.

修改好后的一些说明

其中函数部分设定的是留言数大于或者等于1且小于10,则被判定为VIP1级,以此类推,可对照函数部分自行修改.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表