最近发现很多typecho站点的评论上都弄了一个显示评论人的系统、浏览器以及站长认证装逼信息,所以今天就顺便折腾一下,利用插件的形式实现typecho评论显示访客UA信息以及站长认证。
typecho评论显示访客UA信息和站长认证,有两种方法,都是利用插件来实现,不过两种方法钩子代码放的地方不一样而已,一个是修改Typecho本身源码,一个是修改默认主题comments.php文件,就看你喜欢哪个方法了。
typecho本身就具有UA抓取,网上也给了这段代码:
<?php echo $comments->agent; ?>
第一步先下载插件,再上传至plugins目录设置插件参数并启用插件。
下载地址:https://github.com/ennnnny/typecho
方法一:
但是我发现默认主题的评论框架是高度集成的,根本插入不进评论里面,只能插进外面,翻阅了typecho官方主题开发自定义评论列表区域文档,将其修改之后即可使用。
自定义评论列表区域:
<?php function threadedComments($comments, $options) {
$commentClass = '';
if ($comments->authorId) {
if ($comments->authorId == $comments->ownerId) {
$commentClass .= ' comment-by-author';
} else {
$commentClass .= ' comment-by-user';
}
}
$commentLevelClass = $comments->levels > 0 ? ' comment-child' : ' comment-parent';
?>
<li id="li-<?php $comments->theId(); ?>" class="comment-body<?php
if ($comments->levels > 0) {
echo ' comment-child';
$comments->levelsAlt(' comment-level-odd', ' comment-level-even');
} else {
echo ' comment-parent';
}
$comments->alt(' comment-odd', ' comment-even');
echo $commentClass;
?>">
<div id="<?php $comments->theId(); ?>">
<div class="comment-author">
<?php $comments->gravatar('40', ''); ?>
<cite class="fn"><?php $comments->author(); ?> <?php CommentApprove_Plugin::identify($comments->mail);?><?php UserAgent_Plugin::render($comments->agent);?></cite>
</div>
<div class="comment-meta">
<a href="<?php $comments->permalink(); ?>"><?php $comments->date('Y-m-d H:i'); ?></a>
<span class="comment-reply"><?php $comments->reply(); ?></span>
</div>
<?php $comments->content(); ?>
</div>
<?php if ($comments->children) { ?>
<div class="comment-children">
<?php $comments->threadedComments($options); ?>
</div>
<?php } ?>
</li>
<?php } ?>
复制以上代码添加到主题comments.php文件开头,此代码我已添加站长认证以及评论UA信息(代码在<?php $comments->author(); ?>
后面),如只需要站长认证或者只需要UA浏览器信息,可自行保留或删除。
UA代码:
<?php UserAgent_Plugin::render($comments->agent);?>
站长认证代码:
<?php CommentApprove_Plugin::identify($comments->mail);?>
方法二:
修改typecho源代码,var/widget/comments/archives.php的第121行左右。
在$singleCommentOptions->afterAuthor(); ?>后面添加你想实现功能的代码:
UA代码:
<?php UserAgent_Plugin::render($this->agent);?>
站长认证代码:
<?php CommentApprove_Plugin::identify($this->mail);?>
此两种方法仅在官方默认主题下测试成功,其他主题请联系原作者进行修改。
最新评论
ini如何配置?
hellok123 2024-08-23
以后就跟楼主混了。
赚钱 2024-08-17
感谢分享,谢谢
电商梦里 2024-08-08
请问可以仅使用两个域名同时加速多个服务器吗
moomcake 2024-07-23
Chrome 126加启动参数的方法失效了 那鬼按钮没法关闭了...
龙笑天 2024-06-29
谢谢大佬的无私贡献,感觉很有意思哈!
我爱你 2024-06-22
我倒没注意。
wu先生 2024-05-28