2016-05-26 2 views
1

Мне нужно ограничить зарегистрированных пользователей (не гостей) WordPress до только за один комментарий за каждый пост. Например, каждый зарегистрированный пользователь может публиковать 20 комментариев, но на 20 разных постах.Предельные пользователи 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 ... он возвращает массив объектов комментариев, если у пользователя есть один или несколько комментариев для этого сообщения или пустой массив, если нет комментариев. Таким образом, t для булевых операций. – 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

Смежные вопросы