WordPress как на ладони
wordpress jino

Анонимные комментарии и комментарий ожидает проверки.

Сделал свою тему с 0. Возникла неприятная проблема с комментариями. У меня есть 2 поля для отправки комментариев

  • Имя и Email

Комментарии можно оставлять анонимно. То есть поля заполнять необязательно. Суть проблемы:

  • Если не заполнить хотя бы 1 поле, то в комментариях ничего не показывается, перекидывает на верх страницы, в URL становится ID коммента.

Если всё заполнить, то надпись "Комментарий ожидает проверки" отображается как надо.

В настройках установлено "Автор должен иметь ранее одобренные комментарии."

Подскажите пожалуйста в чём проблема и как её исправить.

Код comments.php

<?php if (comments_open()) { ?> 
	<?php if (get_comments_number() == 0) { ?>
	  <ul class="list">
		<li>Оставьте первый комментарий - автор старался.</li>
	  </ul>
	<?php } else { ?>
	<ol style="list-style: none" class="commentlist">
	  <?php
		function zad_comment($comment, $args, $depth){
		  $GLOBALS['comment'] = $comment; ?>
		  <li <?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">
			<div class='kom' id="comment-<?php comment_ID(); ?>" itemprop="comment" itemscope="itemscope" itemtype="http://schema.org/Comment">
			  <div class="comment-author vcar">
				<div itemprop="datePublished" class="comment-meta commentmetadata" style="float: right;">
				  <?php edit_post_link(); ?>
				 <?php printf( __('%1$s'), get_comment_date('Y-m-d')); ?>
				</div>
				<?php printf(__('<cite class="fn" itemprop="creator"><strong>%s</strong></cite> <span class="fn"></span>'), get_comment_author_link()) ?>
				<?php comment_time('H:i'); ?>
			  </div>
			  <?php if ($comment->comment_approved == '0') : ?>
			  <p style="background:yellow"><?php _e('Ваш комментарий ожидает проверки. Скоро он появится на сайте.') ?></p>
				<br>
			  <?php endif; ?>
			  <p itemprop="text"><?php comment_text() ?></p>

			  <div class="reply">
				<?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
			  </div>
			</div>
	  <?php }
		$args = array(
		  'reply_text' => 'Ответить',
		  'callback' => 'zad_comment'
		);
		wp_list_comments($args);
	  ?>
	</ol>
  <?php } ?>

  <?php
	$fields = array(
	  'author' => '<p class="comment-form-author"><label for="author">(необязательно) ' . __( 'Name' ) . ($req ? '<span class="required">*</span>' : '') . '</label><input type="text" id="author" name="author" class="author" value="' . esc_attr($commenter['comment_author']) . '" placeholder="" pattern="[A-Za-zА-Яа-я]{3,}" maxlength="30" autocomplete="on" tabindex="1" ></p>',
	  'email' => '<p class="comment-form-email"><label for="email">(необязательно) ' . __( 'Email') . ($req ? '<span class="required">*</span>' : '') . '</label><input type="email" id="email" name="email" class="email" value="' . esc_attr($commenter['comment_author_email']) . '" placeholder="example@example.com" maxlength="30" autocomplete="on" tabindex="2" ></p>'
	);

	$args = array(
	  'comment_notes_after' => '',
	  'comment_notes_before' => '',
	  'logged_in_as' => '',
	  'comment_field' => '<p class="comment-form-comment"><textarea id="comment" name="comment" class="comment-form" cols="45" rows="4" aria-required="true" placeholder="Текст сообщения..."></textarea></p>',
	  'cancel_reply_link' => __( 'Отмена' ),
	  'must_log_in' => 'false',
	  'title_reply' => __( '' ),
	  'label_submit' => 'Отправить',
	  'fields' => apply_filters('comment_form_default_fields', $fields)
	);
	comment_form($args);
  ?>
  <?php } else { ?>
  <h3>Обсуждения закрыты для данной страницы</h3>
  <?php }
?>
0
Гость 1.5 года назад

Нет ответов на этот вопрос.

На вопросы могут отвечать только зарегистрированные пользователи. Регистрация. Вход.