Функция get_comment_reply_link()
возвращает HTML-код ссылки для ответа на комментарий. Эта ссылка используется для создания интерфейса, где пользователи могут ответить на конкретный комментарий. В случае, если подключен JavaScript-файл comment-reply.js
, клик по ссылке перемещает форму комментирования под комментарий, на который необходимо ответить.
get_comment_reply_link( array $args = array(), int|WP_Comment $comment = null, int|WP_Post $post = null ): string|false|null
Параметры
$args
(массив) (необязательный)
Массив аргументов, которые переопределяют стандартные значения.
По умолчанию:array()
Доступные ключи массива:add_below
(строка): Идентификатор контейнера, куда будет перемещена форма ответа на комментарий.
По умолчанию:'comment'
respond_id
(строка): Идентификатор блока формы для ответа.
По умолчанию:'respond'
reply_text
(строка): Текст ссылки для ответа.
По умолчанию:'Reply'
login_text
(строка): Текст ссылки, если требуется авторизация для ответа на комментарий.
По умолчанию:'Log in to Reply'
max_depth
(int): Максимальная глубина вложенности комментариев.
По умолчанию:0
depth
(int): Текущая глубина комментария.
По умолчанию:0
before
(строка): HTML или текст, который будет выведен перед ссылкой.after
(строка): HTML или текст, который будет выведен после ссылки.
$comment
(int|WP_Comment) (необязательный)
Идентификатор или объект комментария, к которому нужно прикрепить ссылку для ответа.
По умолчанию: Текущий комментарий в цикле.$post
(int|WP_Post) (необязательный)
Идентификатор или объект записи, к которой относится комментарий.
По умолчанию: Текущий пост.
Возвращаемое значение
string|false|null
Возвращает HTML-код ссылки для ответа, если комментарии разрешены. Если комментарии закрыты, возвращаетfalse
.
Пример 1: Стандартная ссылка для ответа
Выведем стандартную ссылку для ответа на комментарий:
echo get_comment_reply_link();
Пример 2: Ссылка с кастомным текстом
Изменим текст ссылки на «Ответить на комментарий»:
echo get_comment_reply_link([
'reply_text' => 'Ответить на комментарий'
]);
Пример 3: Ссылка с максимальной глубиной вложенности
Укажем максимальную глубину вложенности для комментариев:
echo get_comment_reply_link([
'reply_text' => 'Ответить',
'depth' => 3,
'max_depth' => 5
]);
Пример 4: Ссылка вне цикла комментариев
Если функция используется вне цикла комментариев, необходимо передать объект комментария:
$comment_id = 123; // ID комментария
$post_id = 456; // ID записи
echo get_comment_reply_link([], $comment_id, $post_id);
Хуки
comment_reply_link_args
: Позволяет фильтровать параметры ссылки для ответа.comment_reply_link
: Позволяет изменять HTML-код ссылки для ответа перед его выводом.
Заключение
Функция get_comment_reply_link()
предоставляет гибкий способ добавления ссылки для ответа на комментарии как внутри цикла, так и вне его. Она поддерживает кастомизацию текста ссылки, глубины вложенности и других параметров, что делает её удобной для использования в различных сценариях.