Разрешаем пользователю прокомментировать запись только один раз – например, это нужно для кастомного типа записи, в котором под комментарием подразумевается отзыв с оценкой.
При этом комментировать может только зарегистрированный пользователь.
Данный код является частью кода в файле comments.php
:
global $current_user, $post;
if ( !is_user_logged_in() ) {
echo '<p>You must be logged in to post comments.</p>';
} else {
$usercomment = get_comments( array (
'user_id' => $current_user->ID,
'post_id' => $post->ID,
) );
if ( $usercomment ) {
echo '<p>You have already commented this article.</p>';
} else {
comment_form();
}
}
Проверяем, если юзер незалогинен, то показываем сообщение, что для отправки комментариев, нужно залогиниться, так же нужно оставить ссылку на страницу авторизации.
Если юзер залогинен, то получаем его комментарии к данной записи, если комментарии уже есть, тогда показываем сообщение, что данный пост уже прокомментирован. Если же комментариев нет, тогда для пользователя доступна форма с возможностью комментирования.