当前位置:首页 » 好文分享 » 详情

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); ?>

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


感谢作者:笑忘书的投稿,欢迎大家投稿: https://www.blogs.hk/post-87.html

打赏
X
打赏方式:
  • 支付宝
  • 微信
  • QQ红包

打开支付宝扫一扫
日期:2015年08月17日 06:09:49 星期日   分类:好文分享   浏览(66355)   评论(20)
本文地址:https://www.blogs.hk/post-571.html   [百度已收录]
声明:本页信息由网友自行发布或来源于网络,真实性、合法性由发布人负责,请仔细甄别!本站只为传递信息,我们不做任何双方证明,也不承担任何法律责任。文章内容若侵犯你的权益,请联系本站删除!

留言咨询

自动获取QQ

昵称

邮箱

网址

      Copyright © 2024 博客之家 版权所有  
      關於本站免責聲明sitemap新站登錄