从前端,我想让作者挑选他帖子中最好的评论/答案。我已经很接近了,但还没有到那一步。每次我单击该按钮时,该帖子的所有评论都会被选为最佳评论(这是错误的)。每个帖子应该只选择一条评论。
在 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');
}
}
?>
想法?建议?任何帮助将不胜感激。
我通过为每个评论添加链接来解决这个问题。该链接将转到显示该评论的页面。在此页面上,作者选择该评论作为最佳答案。现在,评论元仅针对该特定评论保存。我知道这是一个额外的步骤,但我更喜欢这种方法,因为作者必须确保这是他想要选择的评论。一旦评论被选为最佳评论,作者就无法更改它。