На вордпресс сайте для отображения комментариев на страницах записей произвольного типа "movies":
- в шаблоне "single-movies.php" (для отдельной страницы записи типа "movies") используется функция
<?php comments_template(); ?>
- создан кастомный файл comments.php, имеющий следующее содержание:
<?php if (comments_open()) { ?>
<?php if (get_comments_number() == 0) { ?>
<?php } else { ?>
<ul class="commentlist">
<?php
function my_comment($comment, $args, $depth){
$GLOBALS['comment'] = $comment; ?>
<li <?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">
<div id="comment-<?php comment_ID(); ?>">
<div class="row comment_area">
<div class="comment_author_ava col-xs-1">
<span class="glyphicon glyphicon-user" aria-hidden="true"></span>
</div>
<div class="comment_content col-xs-11">
<div class="comment_author_name">
<?php printf(__('<span>%s</span>'), get_comment_author_link()) ?>
</div>
<?php if ($comment->comment_approved == '0') : ?>
<em><?php _e('Ваш комментарий ожидает модерации') ?></em>
<br>
<?php endif; ?>
<?php comment_text() ?>
<div class="reply">
<span class="date"><?php printf(__('%1$s, %2$s'), get_comment_date(), get_comment_time()) ?></span> <?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
</div>
</div>
</div>
</div>
<?php }
$args = array(
'reply_text' => 'Ответить',
'callback' => 'my_comment'
);
wp_list_comments($args);
?>
</ul>
<?php } ?>
<?php
$fields = array(
'author' => '<p class="comment-form-author"><input type="text" id="author" name="author" class="author" value="' . esc_attr($commenter['comment_author']) . '" placeholder="Введите ваше имя" pattern="[A-Za-zА-Яа-я -.]{2,}" maxlength="45" autocomplete="on" tabindex="1" required' . $aria_req . '></p>',
'email' => '<p class="comment-form-email"><input type="email" id="email" name="email" class="email" value="' . esc_attr($commenter['comment_author_email']) . '" placeholder="Введите ваш email" maxlength="90" autocomplete="on" tabindex="2" required' . $aria_req . '></p>'
);
$args = array(
'comment_notes_before' => '',
'comment_notes_after' => '',
'title_reply' => 'Добавить комментарий',
'comment_field' => '<p class="comment-form-comment"><textarea id="comment" name="comment" class="comment-form" cols="45" rows="4" aria-required="true" placeholder="Напишите ваш комментарий" required></textarea></p>',
'label_submit' => 'Отправить',
'fields' => apply_filters('comment_form_default_fields', $fields)
);
comment_form($args);
?>
<?php } else { ?>
<h3>Обсуждения закрыты для данной страницы</h3>
<?php }
?>
*В результате комментарии отображаются корректно
*В админке в настройках - разрешены древовидные (вложенные) комментарии
Вопрос: Как в древовидных комментариях - в конкретном дочернем комментарии отобразить ссылку на родительский комментарий?
*Чтобы ссылку на родительский комментарий отобразить в виде якоря в формате: site.ru/post-type/nazvanie-posta#comment-72 (Чтобы при клике на такую ссылку на текущей странице осуществлялся бы скролл к родительскому комментарию).
*Смысл заключается в том, чтобы затем через стили CSS прописать сдвиг только для дочерних комментариев не далее второго уровня, так, чтобы дочерние комментарии третьего уровня, четвертого уровня и т.д. отображались бы с таким же сдвигом вправо, что и комментарии второго уровня. И при этом, чтобы юзерам было бы понятно, к каком родительскому комментарию написан конкретный дочерний комментарий (для этого как раз и нужно в конкретном дочернем комментарии отображать ссылку на родительский комментарий - как, например, в комментариях ВКонтакте - *там эта ссылка отображается в виде имени юзера, которому адресован конкретный комментарий - в формате: "11 минут назад
Алексею").