QQ爹の博客 QQ爹の博客

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

in Typecho 文章转载请注明来源!

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

直接处理 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

支付宝打赏

文章二维码

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

本文基于《 署名 - 非商业性使用 - 相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
文章链接:https://qqdie.com/archives/typecho-recovery-visible.html (转载时请注明本文出处及文章链接)

typecho 回复可见
发表新评论
已有 28 条评论
  1. 唐哥会发光
    唐哥会发光Mac OS X火狐浏览器
    回复

    话说垃圾评论失败了也可以显示啊怎么搞,随便回复个标点符号都可以

  2. 唐哥会发光
    唐哥会发光Mac OS X火狐浏览器
    回复

    谢谢 灰常好用

  3. 不暇
    不暇Android M谷歌浏览器
    回复

    厉害了我的哥,我等下就试试这个。

  4. owen
    owenWindows 7谷歌浏览器
    回复

    你隐藏的不是地方,还以为就是那样设置~~

    1. owen
      owenWindows 7谷歌浏览器
      回复

      @owen 这种方法,其实打开文章时,内容会传送两份,即正常的一份(默认注释掉),隐藏的一份,当回复或登录后,需要刷新一次页面,然后正常的一份显示,隐藏的一份不显示,这样会加大页面体积,对移动端不友好。

      1. Jrotty
        Jrotty本文作者Windows 10谷歌浏览器
        回复

        @owen 知道为什么评论下需要刷新才能显示吗,因为我这个是ajax无刷新评论,正常评论默认就会刷新页面的

        1. owen
          owenWindows 7谷歌浏览器
          回复

          @Jrotty 这个不清楚~ 会不会是 ajax 不支持 js 刷新?

  5. Moexin
    MoexinWindows 10谷歌浏览器
    回复

    不过使用方法貌似显示出来=QwQ

    1. Jrotty
      Jrotty本文作者Windows 10谷歌浏览器
      回复

      @Moexin 如果你处于登陆状态就可以看到的

  6. Moexin
    MoexinWindows 10谷歌浏览器
    回复

    很强,找这个找了好久了

PREVIOUS NEXT
雷姆
拉姆