handsome主题自定义-匿名评论制
本教程适用handsome 3.3.1版本,不兼容4.1.0及以上版本
handsome默认的评论需要昵称和邮箱地址,方便使用gravatar的头像。然而由于种种原因,我们有时候并不希望用户留下个人信息(比如本站),虽然后台设置里没有这个选项,不过我们可以通过修改代码来实现。
1. 修改头像显示
既然用了匿名评论制,头像自然是要自己搞了,可以尝试随机头像,也可以像本站使用统一的匿名头像,这里只介绍统一头像的设置。
打开component/comments.php
文件,找到第46行左右
1 | <a class="pull-left thumb-sm"> |
中间的内容在新旧版本中可能不同,我们不管它,将中间的内容删除或注释,修改为
1 | if ($comments->authorId == $comments->ownerId): |
清下缓存刷新,看看其他人的头像是不是都统一了?
2. 删除提交时的输入信息
既然是匿名,提交时也就只需要一个昵称了,还是在component/comments.php
里面,将120行左右
1 | <div class="comment-form-email form-group col-sm-6 col-md-4"> |
这两个div给删掉就行了。
3. 后台设置
这个时候提交可能会出错,因为后台会对参数进行检查,我们需要去掉邮箱和网址的选项。
在后台设置-评论中去掉“必须填写邮箱”和“必须填写网址”前面的钩即可
4. 右侧最新评论的修改
在右侧可能有人会添加【最新评论】,由于我们去掉了头像,因此会出现显示问题,我们来统一一下:
打开component/sidebar.php
,在28行左右
1 | <a href="<?php $comments->permalink(); ?>" class="pull-left thumb-sm avatar m-r"> |
将中间的内容换成1中替换的代码即可(注意地址哦)
5. 打开ajax提交后的问题
如果你开启了ajax提交,这个时候可能会失败,因为这里的验证和typecho是分开的,所以我们也要修改:
3.3.1和之前的版本有不同,本文均以3.3.1版本为参照
打开js/ajax_comments.min.js
将30行-41行(左右)的
1 | if ($(comment_form).find('#mail').val() == '') { |
两个if语句全部删掉即可。
6. 独立页面评论(未测试)
删除component/footer.php
293行左右的
1 | var mail = $("#mail").val(); |
和
1 | if (mail == "") { |
如此,匿名评论就修改完成了,建议大家自行建立一个git仓库管理更新,以免每次都要重新修改。
由于是事后才写的文章,可能一些地方的修改没有写入教程,以本站的效果为准,如果有出入的请在下方评论,我会进行补充。