如果用户之前留下了评论,则显示此代码

时间:2017-11-02 作者:Randomer11

下面是我插入到评论模板中的代码,如果用户从未在特定帖子上发表过评论,它应该显示评论表单。

或者,如果他们在这篇文章上发表了评论,他们应该会看到一个星级评选。

    <?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; ?>
问题是它总是显示收视率,而总是隐藏评论表单。

有没有更好的方法来实现我的需求?

1 个回复
最合适的回答,由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()

结束

相关推荐