QQ爹の博客 QQ爹の博客

typecho非插件实现回复可见功能

in Typecho read (742) 144汉字 文章转载请注明来源!

因为一般首页很少有全文输出的,而且一般隐藏内容都放在文章后面,所以就不需要处理首页的输出内容了。

直接处理post.php就可以了,使用下面的代码

<?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 
?>

替换模板post.php中的

<?php $this->content(); ?>

使用方法,在写文章需要隐藏部分内容时用以下写法

[hide]要隐藏的内容[/hide]

css参考样式

.reply2view {
    background:#f8f8f8;
    padding:10px 10px 10px 40px;
    position:relative
}

代码来自typecho论坛http://forum.typecho.org/viewtopic.php?f=6&t=4939&p=25945

本文代码为了更好地适应各种模板,对原代码稍加了点删改

jrotty WeChat Pay

微信打赏

jrotty Alipay

支付宝打赏

文章二维码

扫描二维码,在手机上阅读!

typecho回复可见
最后由Jrotty编辑于2017-07-22 09:05
发表新评论
已有 18 条评论
  1. vasta
    vasta
    回复

    测试一下

  2. Sakura
    Sakura
    回复

    收下了,以后回te用上

  3. Hran
    Hran
    回复

    看了看你博客的更新速度,又看了看我的。。。。
    突然泪目

    1. Jrotty
      Jrotty本文作者
      回复

      @Hran 我这里全是水,不用在意233

  4. 不才
    不才
    回复

    过来围观一波

  5. 果子
    果子
    回复

    这个不错,学习学习2

  6. c0smxsec
    c0smxsec
    回复

    脚踢,你真的要把博客做成论坛?

    1. Jrotty
      Jrotty本文作者
      回复

      @c0smxsec 并不是啊,只是给模板加个功能,顺便水下文章

前篇 后篇
雷姆
拉姆
音乐加载中...
0:00