Анонимные комментарии и комментарий ожидает проверки.
Сделал свою тему с 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 } ?>