comment_reply_link()
Виводить посилання <a> , яке дозволяє відповідати на коментар. Тег використовується в циклі коментарів для кожного коментаря.
Якщо підключений JavaScript comment-reply.js , цей Тег шаблону буде переміщати форму коментування під коментар на який користувач вирішив відповісти.
Функція призначена для використання усередині циклу коментарів.
Хуків немає.
Повертає
null
. Виводить на екран код посилання.
Використання
<?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' );
#3 Підключаємо 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() comment reply link WP 6.0.2
function comment_reply_link( $args = array(), $comment = null, $post = null ) { echo get_comment_reply_link( $args, $comment, $post ); }