WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

comment_reply_link() WP 2.7.0

Выводит ссылку <a>, которая позволяет отвечать на комментарий. Тег используется в цикле комментариев, для каждого комментария.

Если подключен JavaScript comment-reply.js, то этот Тег шаблона будет передвигать форму комментирования под комментарий на который пользователь решил ответить.

Функция предназначена для использования внутри цикла комментариев.

Работает на основе: get_comment_reply_link()
✈ 1 раз = 0.001392с = очень медленно | 50000 раз = 18.71с = медленно

Хуков нет.

Возвращает

Выводит на экран код ссылки.

Использование

<?php comment_reply_link( $args, $comment, $post ); ?>
$args(массив)
Различные параметры, влияющие на отображение ссылки.
По умолчанию: предустановки
$comment(число)
ID комментария на который будем отвечать.
По умолчанию: null
$post(число)
ID поста для которого показывается ссылка.
По умолчанию: null

Аргументы параметра $args

add_below(строка)
Название префикса для контейнера комментария. По умолчанию comment, означает что форма будет передвигаться под контейнер с атрибутом id="comment-23" (23 ID комментария на который отвечаем).
По умолчанию: 'comment'
respond_id(строка)
Значение атрибута id контейнера формы комментирования. Т.е. если указано respond, то по нажатию на ссылку блок с id="respond" будет передвигаться (это блок формы комментирования).
По умолчанию: 'respond'
reply_text(строка)
Текст ссылки.
По умолчанию: __('Reply')
login_text(строка)
Текст ссылки, который показывается когда для того чтобы оставить комментарий нужно зарегистрироваться.
По умолчанию: __('Log in to Reply')
depth(число)
Глубина комментариев для которых ссылка будет показана. Для древовидных комментариев. Если указать, например 3, то для комментария с глубиной вложенности 4 ссылка уже не будет отображаться.
По умолчанию: 0
before(строка)
Текст или html, которые нужно добавить перед ссылкой.
after(строка)
Текст или html, которые нужно добавить после ссылкой.
По умолчанию: array()

Примеры

#1 Ссылка для ответа на комментарий

Выведем ссылку для ответа на комментарий максимального уровня вложенности - 5, и изменим текст ссылки на "ответить на комментарий":

<?php comment_reply_link( [ 'reply_text' => "ответить на комментарий", 'depth' => 5 ] ); ?>

Выведет подобную ссылку:

<a rel="nofollow" class="comment-reply-link" href="#comment-5296" data-commentid="5296" data-postid="1222" data-belowelement="comment-5296" data-respondelement="respond" aria-label="Комментарий к записи Цифровой">Ответить</a>

#2 Подключаем comment-reply.js

По клике на ссылку, которую выводит comment_reply_link() пользователя должно перекинуть к форме ответа на комментарий. Но если подключить скрипт comment-reply.js, то при клике на эту ссылку форма ответа на комментарий должна сама подвинуться под текущий комментарий.

Чтобы подключить скрипт comment-reply.js, который находится в файлах движка, нужно добавить такую строку в header.php:

if( is_singular() ) wp_enqueue_script('comment-reply');

Или лучше добавить в funcions.php такой код:

function enqueue_comment_reply() {
	if( is_singular() )
		wp_enqueue_script('comment-reply');
}
add_action( 'wp_enqueue_scripts', 'enqueue_comment_reply' );

#2.1 Подключаем comment-reply.js только где он нужен:

Второй пример немного упрощенный. Этот пример также подключает скрипт, но прежде чем его подключить проверяет действительно ли он нужен. В условии if проверяется: страница записи ли это (is_singular), и открыты ли комментарии для этой страницы (comments_open) и включена ли опция древовидных комментариев (get_option). Если все эти условия не соблюдаются, то логично, что этот скрипт не нужен, поэтому он не будет подключен:

function enqueue_comment_reply() {
	if( is_singular() && comments_open() && (get_option('thread_comments') == 1) ) 
		wp_enqueue_script('comment-reply');
}
add_action( 'wp_enqueue_scripts', 'enqueue_comment_reply' );

Заметки

  • Смотрите: get_comment_reply_link()

Список изменений

С версии 2.7.0 Введена.

Код comment reply link: wp-includes/comment-template.php WP 5.4.2

<?php
function comment_reply_link( $args = array(), $comment = null, $post = null ) {
	echo get_comment_reply_link( $args, $comment, $post );
}

Cвязанные функции

Из раздела: Циклы комментариев

Еще из тегов шаблона: Комментарии

35 комментов
Полезные 2 Вопросы 2 Все
  • гость

    нужен хостинг для сайта на Вордперсс, что посоветовали бы из такого вот списка hostradar.ru/ ? Никак не могу подобрать надежный.

    -1
    Ответить30.Мар.2020 12:27 #