Typecho评论显示博主标签,最新评论不调用博主

  分享  3次评论  25次阅读  517字数  预计阅读时间2分钟

请输入图片描述
最近想美化下typecho的评论功能,需要添加博主的认证功能和右侧最新评论不调取博主的,经过检索得到解决方案,将解决过程分享如下。。
去掉Typecho最近评论列表中博主的评论:
在最新评论列表调用代码中添加参数ignoreAuthor=true,如显示博主评论的最近评论调用代码如下:

 <?php $this->widget('Widget_Comments_Recent')->to($comments); ?>

将该代码替换为

 <?php $this->widget('Widget_Comments_Recent','ignoreAuthor=true')->to($comments); ?>

保存文件即可。

typecho网站添加博主认证及等级

这个功能其实非常简单,通过判断评论者的邮箱及评论条数,输出对应的文字或图片。

老规矩直接上代码。在主题模板的functions.php文件里添加以下代码。

第一种方案

 /** 评论者认证等级 */
 function dengji($i){
     $db=Typecho_Db::get();
     $mail=$db->fetchAll($db->select(array('COUNT(cid)'=>'rbq'))- 
>from('table.comments')->where('mail = ?', $i)->where('authorId = ?','0'));
     foreach ($mail as $sl){
     $rbq=$sl['rbq'];}
     if($rbq<1){
     echo '博主';
     }elseif ($rbq<10 && $rbq>0) {
     echo 'VIP1';
     }elseif ($rbq<20 && $rbq>=10) {
     echo 'VIP2';
     }elseif ($rbq<40 && $rbq>=20) {
     echo 'VIP3';
     }elseif ($rbq<80 && $rbq>=40) {
     echo 'VIP4';
     }elseif ($rbq<100 && $rbq>=80) {
     echo 'VIP5';
     }elseif ($rbq>=100) {
     echo 'SVIP';
     }
  }

再打开主题评论模板 comments.php 文件,在评论者名字输出位置后加上如下代码。

   <?php dengji($comments->mail);?>

然后,就大功告成啦。至于样式,可自行在上面的输出代码上加一个层,调整其 CSS 即可。

第二种方案

 <?php
 $me = md5(strtolower('279721075@qq.com')); //这里填入自己的邮箱
 $boy = md5(strtolower('279721075@qq.com')); //这里填入好友的邮箱
 $rz = md5(strtolower($comments->mail)); //用于判断邮箱
 //博主样式
 $str =  '<span class="commentapprove" style="color: #FFF;padding: .1rem .25rem;font-size: 
 .7rem;border-radius: .25rem;background-color:#1ECD97;" >博主</span>';
 //好友样式
 $str2 =  '<span class="commentapprove" style="color: #FFF;padding: .1rem .25rem;font-size: 
 .7rem;border-radius: .25rem;background-color:#1ECD97;" >好友</span>';
 //开始判断
 if($me==$rz){
 echo $str;            //如果条件成立则输出'博主'样式
 }if($boy==$rz){
 echo $str2;            //如果条件成立则输出'好友'样式
 }
 ?>

可以直接粘贴到评论页的作者后面进行使用

第三种方案

typecho有个函数是给文章作者的回复添加一个独一无二的class,我们可以利用这个class实现'博主'认证,或是其它。注意,此方法只适用于'博主',并不能自定义判断好友或其它。废话不多说,给文章作者回复加一个class的函数是

 <?php echo $commentClass; ?>

如果你想让你的名称变成'红色'或是其它,那就好办了,直接

 <span class="comment-author"><?php $comments->author(); ?></span>

在comment-author后面加入<?php echo $commentClass; ?>,注意,添加在双引号里面

如果你想展示'博主'的小标志,那可以单独插入一段

 <span class="<?php echo $commentClass; ?>"></span>

添加相关Css,总之 自行发挥吧!

<!--蓝卡-->

发表新评论
  1. 试一下

      Android  email内嵌浏览器 回复
    1. 歲月安然 博主
      @于长野

      交换友链?

        Windows 10  Chrome 84 回复
  2. 歲月安然 博主

    大家可以试下,我现在用的第二种,第一种方案由于一些原因一直显示不正确。

      Windows 10  Chrome 84 回复