zishu's blog

zishu's blog

一个热爱生活的博主。https://zishu.me

typecho コメントに返信して、コメントの人にメンションする。

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

▼コードの表示
1654569311759.png

▼効果の画像
1654569512094.png


私のブログは近日中に Tencent Cloud + コミュニティに同期されます。皆さんを招待して一緒に参加してください:https://cloud.tencent.com/developer/support-plan?invite_code=17ctk6evsjk5b

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。