一些Typecho网站的评论区里面,别人评论时会带上一个可爱的@小尾巴,怎么给自己的主题加上这个呢?这一次的Typecho教程就和大家分享一下
在一些Typecho网站的评论区里面,别人评论时会带上一个可爱的@小尾巴,怎么给自己的主题加上这个呢?这一次的Typecho教程就和大家分享一下。
- 原文来源:详情
在function里面加上这个
//获取评论的锚点链接
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 '';
}
}
}
调用方法:在评论输出内容的地方前面放上就行了
<?php $parentMail = get_comment_at($comments->coid)?><?php echo $parentMail;?>