emlog的评论列表里没有对评论者进行区分,比如博主,作者,普通游客,至于用户就不必要了,把他放在游客里即可
我们需要的是区分当前文章的作者,以及博客主人的评论。
以下是博主笑忘书折腾出来的判断方法,其实原理比较简单,直接判断昵称是否和作者或博主相同即可。
- 首先需要获取文章作者id到评论列表函数里。打开 echo_log.php,找到评论获取函数:
<?php blog_comments($comments); ?>
如果不是官方模板,可能不一定完全相同,不过没关系,我们只是在其后面加入一个文章作者id:<?php blog_comments($comments,$author); ?>
保存即可。
2.继续打开module.php文件,找到评论列表函数,加进一个$uid,如下:<?php //blog:评论列表 function blog_comments($comments,$uid) …………
再找到:$comment['poster'] = $comment['url'] ? ……
由于上面这句会将评论者昵称重新定义成带链接等的内容,不适合我们拿来判断昵称是否一致,所以我们要在其前面加入:$comname = $comment['poster'];
这个获取的是评论者昵称文本。接着可以找到 <?php echo $comment['poster']; ?> 即评论者昵称显示位置,在其后面加:
<?php global $CACHE;$user_cache = $CACHE->readCache('user'); $bzname = $user_cache[1]['name']; if($comname == $bzname): ?>(博主)<?php elseif($comname == $user_cache[$uid]['name']): ?>(作者)<?php endif;?>
这个是先判断是不是博主的昵称,如果是就显示博主;不是的话,再判断是不是作者(不是博主发表的文章)。
当然你也可以定义其他内容样式,自己发挥好了。
慢着,我们只是完成了一级评论而已,后面的子评论还没设置。
3.继续找到评论列表函数最后的,同样增加一个$uid:
<?php blog_comments_children($comments, $comment['children'],$uid); ?>
再找到子评论列表函数(一般在评论列表函数后面),重复第二步的操作即可。
感谢作者:笑忘书的投稿,欢迎大家投稿: https://www.blogs.hk/post-87.html
文章作者:博客之家
文章標題:Emlog判断博主/作者评论并设置特定标识
文章鏈接:https://www.blogs.hk/571.html
本站所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議,轉載請註明來自博客之家 !
文章標題:Emlog判断博主/作者评论并设置特定标识
文章鏈接:https://www.blogs.hk/571.html
本站所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議,轉載請註明來自博客之家 !

评论列表(20条)