下面是我插入到评论模板中的代码,如果用户从未在特定帖子上发表过评论,它应该显示评论表单。
或者,如果他们在这篇文章上发表了评论,他们应该会看到一个星级评选。
<?php if ( 1 < wp_count_comments( get_the_ID() )->approved ) : ?>
<?php if(function_exists(\'the_ratings\')) { the_ratings(); } ?>
<?php else: ?>
<?php comment_form(array(\'class_submit\'=>\'button\')); ?>
<?php endif; ?>
问题是它总是显示收视率,而总是隐藏评论表单。
有没有更好的方法来实现我的需求?
最合适的回答,由SO网友:Drupalizeme 整理而成
这将是主代码
global $current_user, $post;
$user_comment_count = get_comments(array(\'user_id\' => $current_user->ID, \'post_id\'=>$post->ID) );
if($user_comment_count) {
the_ratings();
} else {
comment_form(array(\'class_submit\'=>\'button\'));
}
此外,您可能需要首先检查用户是否使用
is_user_logged_in()