Ограничьте пользователей WordPress размещением одного комментария на сообщение

Мне нужно ограничить зарегистрированных пользователей WordPress (не гостей) оставлять только один комментарий за каждое сообщение. Например, каждый зарегистрированный пользователь может оставлять 20 комментариев, но на 20 разных постах.

Затем форма становится скрытой / удаленной для этого конкретного пользователя.

Как мне отредактировать следующий код?

comment_form();

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();
}
1

Другие решения

Я думаю, что я мог бы найти ваше решение здесь: https://wordpress.org/support/topic/one-comment-per-user-per-post

Кажется довольно прямым, хотя я все еще учусь. 🙂

Дайте мне знать, если это сработало для вас.

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

0