Typecho系统自带评论功能修改

January 27, 2019 · 技术 · 15362次阅读 · 共789字

前言

本站之前由于一些特殊的原因(其实是懒)所以一直没有开通网页版的评论功能,而要求下载使用APP来评论。
然后圈内一些大佬就告诉我,叫我赶紧加上吧,没人愿意为了评论一下你的文章还去安装你的APP
仔细一想好像是这么肥四23333,于是乎,就有了这篇文章

之所以以前没开评论,是因为我用的这个模板采用的评论并不是typecho自带的,而是利用第三方插件
由于这个主题在两年前就停更了,很不幸的是这个插件也跑路了,并没法正常使用QAQ
当时我就说换上系统自带的叭,但是一想,,懒得弄,,就一直撂在那儿没管它了

开始折腾

决定好后,我还是先去百度了一波,看看其他人怎么处理的qwq
翻来翻去,结果在typecho官网看到了一款和我这个主题风格差不多的模板Affinty
找了半天也没找到主题作者的联系方式,在万般无奈下,我直接复制粘贴了他的comments.php
(希望谅解QAQ,实在是找不到联系方式)
这主题的确挺好看,本来想直接换主题的,但是想了想
像我这种懒得配图的人QAQ,真的不适合用这种主题~

然后将css也复制了一下。由于Affinty主题的配色是蓝色为主,而我的博客是原谅色为主
所以讲css里相关的改了一下下,用不上的也就删去了叭。

保存然后打开试试,嗯,看上去没什么毛病0.0
于是迫不及待的就往群里“宣告”了2333
万万没想到,我居然马虎到忘了开允许注册(;′⌒`)
打开这也就基本上完成了叭

进一步折腾

很快,我又发现了新问题QAQ
评论的头像似乎,不太对鸭!右键一看咋是用的Gravatar的默认头像Σ( ° △ °|||)︴
我看其他博客评论都是QQ头像的鸭!这不行!得换!

于是乎,我打开了comments.php,仔细看了遍代码
于是我找到了它:

<li id="li-<?php $comments->theId();?>" class="<?php echo $cl;?>">
<div id="<?php $comments->theId(); ?>">
<?php $a = 'https://gravatar.css.network/avatar/' . md5(strtolower($comments->mail)) . '?s=80&r=X&d=mm';?>
    <img class="avatar" src="<?php echo $a ?>" alt="<?php echo $comments->author; ?>" />
    <div class="cp">
    <?php $comments->content(); ?>
    <div class="cm"><span class="ca"><?php echo $author ?></span> <?php $comments->date(); ?><span class="cr"><?php $comments->reply(); ?></span></div>
    </div>
</div>
<?php if ($comments->children){ ?><div class="children"><?php $comments->threadedComments($options); ?></div><?php } ?>
</li>

相信大家一眼便看到了img标签叭,我们接着往后看src的内容,输出了变量$a
我们一起向上面看

<?php $a = 'https://gravatar.css.network/avatar/' . md5(strtolower($comments->mail)) . '?s=80&r=X&d=mm';?>

嘿嘿嘿,抓到了,接下来就是改造啦


首先我们知道,获取评论邮箱地址的代码为$comments->mail;,所以我们先用变量表示出来
$mail=$comments->mail;,所以变量$mail便是获取到的QQ邮箱。
我们获取QQ头像的接口是:"http://q1.qlogo.cn/g?b=qq&nk=QQ号码&s=100",所以直接用邮箱地址看来是不行辽
所以我们用PHP的字符串分割函数explode来处理$mail,即:$qq = explode("@",$mail);
这样我们只需要输出$qq[0]便能得到QQ号码了。
统一一下代码:

<?php
 $mail = $comments->mail;
 $qq = explode("@",$mail); 
 $a = 'http://q1.qlogo.cn/g?b=qq&nk='.$qq[0].'&s=100';
?>

所以我们直接把

<?php $a = 'https://gravatar.css.network/avatar/' . md5(strtolower($comments->mail)) . '?s=80&r=X&d=mm';?>

替换成上面的就完工了~

效果如下哦:

效果图

总结

这篇文章似乎也没什么好总结的了23333
总之本站评论功能已正常启用
希望各位大佬可以多在评论区为本小白指点一二
(这篇不是水文O(∩_∩)O嗯!)

喝杯水

标签:mail,评论,主题,头像

最后编辑于:2021/06/01 18:48

添加新评论

  1. 2021-06-01 11:41

    测试

    回复
    1. 2021-06-01 18:31

      我的发信邮箱似乎挂了,懒得从新搞((

      回复
  2. voyage voyage
    2021-04-29 22:01

    测试aru_12aru_12

    回复
  3. 2019-03-31 13:26

    测试

    回复
  4. 2019-01-28 15:14

    还真弄好了啊,不错哈哈

    回复
    1. 2019-01-28 18:17

      诶嘿嘿,如你所愿,常来鸭O(∩_∩)O~~

      回复
  5. 2019-01-28 09:51

    骗我评论

    回复
    1. 2019-01-28 10:05

      没有啦qwq,别人真的500鸭

      回复
  6. 2019-01-28 00:51

    捕捉一个大佬,呵啊

    回复
    1. 2019-01-28 01:06

      国王球( っ'-')╮ =͟͟͞͞ O 系统提示:由于您要捕捉的是大佬而博主是只小白,所以捕捉失败~

      回复
  7. 2019-01-28 00:26

    啊哈

    回复
    1. 2019-01-28 00:40

      啊哈

      回复