Разрешаем пользователю прокомментировать запись только один раз – например, это нужно для кастомного типа записи, в котором под комментарием подразумевается отзыв с оценкой.
При этом комментировать может только зарегистрированный пользователь.
Данный код является частью кода в файле 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(); } }
Проверяем, если юзер незалогинен, то показываем сообщение, что для отправки комментариев, нужно залогиниться, так же нужно оставить ссылку на страницу авторизации.
Если юзер залогинен, то получаем его комментарии к данной записи, если комментарии уже есть, тогда показываем сообщение, что данный пост уже прокомментирован. Если же комментариев нет, тогда для пользователя доступна форма с возможностью комментирования.