Emlog判断博主/作者评论并设置特定标识

摘要

emlog的评论列表里没有

emlog的评论列表里没有对评论者进行区分,比如博主,作者,普通游客,至于用户就不必要了,把他放在游客里即可

我们需要的是区分当前文章的作者,以及博客主人的评论。

以下是博主笑忘书折腾出来的判断方法,其实原理比较简单,直接判断昵称是否和作者或博主相同即可。

1. 首先需要获取文章作者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); ?>

再找到子评论列表函数(一般在评论列表函数后面),重复第二步的操作即可。


感谢作者:笑忘书的投稿,欢迎大家投稿: http://likinming.com/post-87.html

发表评论

注意:本博客开启缓存,你的评论一般2小时后才能看到,如是广告,评论将无法显示!

目前评论:20 条

  1. avatar 手机赚钱平台
    回复 2015-08-19 12:09  沙发

    不错,些的蛮详细的

  2. avatar 来赚网
    回复 2015-08-18 22:56  板凳

    点赞

  3. avatar Wre
    回复 2015-08-18 16:45  地板

    看了后差不多会了...

  4. avatar 香港云主机
    回复 2015-08-18 14:51  #4 楼

    Emlog这种博客从来都没有用过,判断博主/作者评论并设置特定标识还真不知道,看了后差不多会了

  5. avatar swmm
    回复 2015-08-18 14:42  #5 楼

    不错

  6. avatar qqq
    回复 2015-08-18 14:36  #6 楼

    不错

  7. avatar swn
    回复 2015-08-18 14:33  #7 楼

    好好

  8. avatar boke112导航
    回复 2015-08-18 14:01  #8 楼

    这个想法不错,博主和作者本人区分开来,这个比较适合一个站点多个作者的

  9. avatar 群伟伟博客
    回复 2015-08-18 09:28  #9 楼

    目测现在是两日一更新了[嘻嘻]

  10. avatar 27joy耕耘网
    回复 2015-08-17 23:33  #10 楼

    哥们,你这网站是用emlog做的么

    • avatar 李明

      @27joy耕耘网:是的,Emlog不错的。