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 回答