Ryongyon!

这世界上假绅士太多,缺少训练有素的流氓

· 实践教程 · · 1729次浏览

Typecho免插件实现角色认证

前言

这几天在做主题,就是目前的样子,今天呢 突然有一个想法,就是不用插件实现角色认证的功能,就是评论区域会根据留言者的邮箱做判断,然后显示"博主""好友""土豪"等功能,当然 想显示什么都可以自定义。因为是第一次做模板,没有经验 所以起初就是到官方文档还有网上搜索 了解,可是并没有找到相关的文章(这就是和WP的差距啊...),然后我就放弃了...因为懒,而且也急着把主题做完,然后我就继续做主题,在翻到comments.php的时候,无意看到一段代码(通过邮箱地址MD5值获取头像),我觉得应该可以实现,然后就亲自实践了一下,误打误撞就成功了

方法一

comments.php里我们可以得知获取用户邮箱地址MD5值的函数是

md5(strtolower($comments->mail))

那么整个功能我们可以这么写

<?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;            //如果条件成立则输出'好友'样式
}
?>

将以上代码自行调整后复制到comments.php

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

的后面即可

方法二

其实还有一个方法也行得通,但是我懒得去实践了,不过应该是行得通的,就是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,总之 自行发挥吧!

方法三

以上方法都嫌啰嗦?嫌麻烦?有没有更好的选择,有,其实找就有人做出插件了,你可以在这里找到:《给TYPECHO评论系统增加博主认证功能》

评论 (5条)
  1. seven

    新主题很漂亮!赞一个

    回复
    1. 拾叁 博主
      @seven

      谢谢~😘

      回复
  2. 感谢推荐~~

    回复
  3. 不错收藏了

    回复
  4. 哎呦,不错呦,很清新

    回复