强仔
@qiangzai

Typecho代码实现评论@小尾巴,简单来说就是子级评论回复父级评论时候,在嵌套基础上,为了更好的让评论一目了然,增加 @ 小尾巴

文本教程

function.php 文件里面加上这个函数,管他什么主题,扔最后面就行。

function get_comment_at($coid){
$db   = Typecho_Db::get();
$prow = $db->fetchRow($db->select('parent,status')->from('table.comments')
    ->where('coid = ?', $coid));//当前评论
$mail = "";
$parent = @$prow['parent'];
if ($parent != "0") {//子评论
    $arow = $db->fetchRow($db->select('author,status,mail')->from('table.comments')
        ->where('coid = ?', $parent));//查询该条评论的父评论的信息
    @$author = @$arow['author'];//作者名称
    $mail = @$arow['mail'];
    if(@$author && $arow['status'] == "approved"){//父评论作者存在且父评论已经审核通过
        if (@$prow['status'] == "waiting"){
            echo '<p class="commentReview">(评论正在审核中)</p>';
        }
        echo '<a href="#comment-' . $parent . '">@' . $author . '</a>';
    }else{//父评论作者不存在或者父评论没有审核通过
        if (@$prow['status'] == "waiting"){
            echo '<p class="commentReview">(评论正在审核中)</p>';
        }else{
            echo '';
        }
    }

} else {//母评论,无需输出锚点链接
    if (@$prow['status'] == "waiting"){
        echo '<p class="commentReview">(评论正在审核中)</p>';
    }else{
        echo '';
    }
}
}

调用方法

我们先去typecho官网看看有关评论相关变量,变量 <?php $comments->content(); ?> 为评论内容

前面我们加的函数也判断了父类评论和子类评论的关系,父类评论不加小尾巴,子类评论加小尾巴,所以我们直接在评论输出内容的地方前面放上小尾巴变量就行了,一般在 commentes.php 主题文件中,放在前面即可。

小尾巴变量

<?php $parentMail = get_comment_at($comments->coid)?><?php echo $parentMail;?>

测试效果

刷新看看以前回复内容

结语

感谢访问强仔博客,希望本文对你有所帮助

本文文章字数为:318个

您阅读这篇文章共花了:

文章最后更新于:2021 年 01 月 13 日 11:46:23

当前IP为:3.236.156.34,请自觉遵守网络安全

END
上午11:17 · 2021年01月13日
49
2
1
宝贝留个言吧

    Sun     
    7天前

    我博客评论模块早就有这玩意

      强仔靓仔     
      7天前
      @Sun

      我在人家那教程看到的,加了一下

教程
Typecho代码实现评论@小尾巴
Typecho代码实现评论@小尾巴,简单来说就是子级评论回复父级评论时候,在嵌套基础上,为了更好的让评论一目了然,增加 @ 小尾巴 ...
欢迎扫描二维码继续阅读
January 13, 2021
强仔博客
blogger
强仔
统计
文章:106 篇
分类:4 个
评论:324 条
加载耗时:21 ms
运行时长:1年145天
by yoniu.
强仔博客