Typecho无插件实现回复可见效果代码记录

2021-12-24 14:33:47 浏览数 (1)

我们经常遇到一些个人网站提供的重要的文件下载、主题下载等文件需要用户回复可见。这些功能到底是如何实现的呢?在之前WordPress相关的功能上有过介绍(WordPress利用easy2hide插件实现评论内容可见模式),今天老蒋需要分享的是在Typecho程序中如何实现回复才可见的效果?

第一、找到文章展示页面模板

代码语言:javascript复制
<?php $this->content(); ?>

我们找到文章展示页面模板上面代码,然后替换成:

代码语言:javascript复制
<?php
$db = Typecho_Db::get();
$sql = $db->select()->from('table.comments')
->where('cid = ?',$this->cid)
->where('mail = ?', $this->remember('mail',true))
->limit(1);
$result = $db->fetchAll($sql);
if($this->user->hasLogin() || $result) {
$content = preg_replace("/[hide](.*?)[/hide]/sm",'<div class="reply2view">$1</div>',$this->content);
}
else{
$content = preg_replace("/[hide](.*?)[/hide]/sm",'<div class="reply2view">此处内容需要评论回复后方可阅读。</div>',$this->content);
}
echo $content
?>

第二、如何使用

代码语言:javascript复制
[hide]需要隐藏的内容部分丢到这里[/hide]

如果我们正常发表内容不要做任何操作,如果我们需要隐藏内容的话,就根据上面方法用标签隐藏。

第三、修改样式

代码语言:javascript复制
.reply2view {
 background:#f8f8f8;
 padding:10px 10px 10px 40px;
 position:relative
 }
 .reply2view i {
 display:block;
 font-size:20px;
 height:20px;
 left:10px;
 line-height:20px;
 position:absolute;
 top:15px;}

然后可以根据实际主题配色需要修改样式。

0 人点赞