typecho ではコメント時にデフォルトで @
コメント者を指定する機能がありませんが、コードを追加することで実現できます。
functions.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 '';
}
}
}
次に、comments.php
でコメント内容を出力するコードの前に以下を追加します:
<?php $parentMail = get_comment_at($comments->coid)?><?php echo $parentMail;?>
▼コードの例
▼効果の画像
私のブログは間もなく Tencent Cloud + コミュニティに同期されます。皆さんの参加をお待ちしています:https://cloud.tencent.com/developer/support-plan?invite_code=17ctk6evsjk5b