1

フロントエンドから、著者が自分の投稿の最高のコメント/回答を取得できるようにしたいと考えています。私は近くにいますが、まだそこにはいません。ボタンをクリックするたびに、その投稿のすべてのコメントが最高として選択されます (これは間違っています)。投稿ごとに 1 つのコメントのみを選択する必要があります。

function.php には次のものがあります。

add_action ('comment_post', 'add_comment_field', 1);
function add_comment_field($comment_id) {
    add_comment_meta($comment_id, 'bestanswer', 'no', false);
}

comment.php には次のものがあります。

<?php
    $current_author = get_the_author_meta('nickname');
    global $current_user; get_currentuserinfo();
    if ($current_user->nickname == $current_author) {
?>
<?php
    $my_post_meta = get_comment_meta($comment->comment_ID, 'bestanswer', true);
    if ( $my_post_meta == 'yes' ) {
            echo '<h4>Best answer</h4>';
        } else {
        ?>
        <form method="post" action="" id="bestanswer-<?php comment_ID() ?>">
            <input type="submit" name="confirm" value="Best Answer" />
        </form>
        <?php   

        if (isset($_POST['confirm'])) {
            update_comment_meta($comment->comment_ID, 'bestanswer', 'yes');
        }

    }
?>

考え?提案?どんな助けでも大歓迎です。

4

1 に答える 1

1

各コメントにリンクを追加することでこれを解決しました。リンクは、そのコメントを表示するページに移動します。このページで、作成者はコメントを最良の回答として選択します。コメント メタは、その特定のコメントに対してのみ保存されるようになりました。追加の手順であることは承知していますが、作成者は自分が選択したいコメントであることを確認する必要があるため、この方法を好みます。コメントがベストとして選択されると、作成者はコメントを変更できません。

于 2013-01-15T06:14:27.490 に答える