2016-05-26 175 views
1

WordPressの登録ユーザー(ゲストではない)をに限定する必要があります。投稿ごとにコメントを投稿してください。例えば、登録されたすべてのユーザーは、20のコメントを投稿できますが、20の異なる投稿に投稿できます。投稿ごとに1つのコメントを投稿するにはWordPressのユーザーを制限してください

次に、その特定のユーザーに対してフォームが非表示/削除されます。

次のコードを編集するにはどうすればよいですか?

comment_form(); 
+0

多分、それは役に立つ、同じ問題です。 http://wordpress.stackexchange.com/questions/137799/how-to-limit-users-to-one-comment-per-post – Destrif

答えて

1
$is_commented = get_comments(array('user_id' => $current_user->ID, 'post_id'=>$post->ID)); 
if($is_commented) { 
    // give the user a message saying he already have commented 
} else { 
    comment_form(); 
} 
+0

$ is_commented = trueまたはこれと類似したものを使用することはできますか? – baluba89

+0

um ...コメントオブジェクトの配列を返します(コメントがない場合は空の配列です)ブール演算に使用します。 – Ajith

0

単純なアプローチは、ユーザーが投稿をコメントしたかどうかを確認することです。彼らが投稿にコメントした場合は、コメントフォームを無効にします。

global $current_user; 
$args = array('user_id' => $current_user->ID); 
$usercomment = get_comments($args); 
if(count($usercomment) >= 1){ 
    echo 'disabled'; 
} else { 
    comment_form(); 
} 

私のサイトをテストして回答しました。この方法は非常に確信していました。 サイトhttps://digiwp.com

関連する問題