Функция COMMENT_REPLY_LINK() в WordPress: описание, параметры и примеры использования

Функция COMMENT_REPLY_LINK() в WordPress

Функция COMMENT_REPLY_LINK() отвечает за отображение ссылки для ответа на комментарий.

Описание

Функция использует get_comment_reply_link() для генерации нужной ссылки.

Параметры времени выполнения:

  • 1 раз — 0.001392 секунды (очень медленно)
  • 50000 раз — 18.71 секунды (медленно)

Возврат

Функция возвращает null, то есть ничего не выводит.

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

Вызов функции осуществляется следующим образом:

comment_reply_link( $args, $comment, $post );

Параметры:

  • $args (array): Массив с параметрами, которые позволяют переопределить настройки по умолчанию. По умолчанию — пустой массив.
  • $comment (int|WP_Comment): Комментарий, на который нужно ответить. По умолчанию — текущий комментарий.
  • $post (int|WP_Post): ID поста или объект WP_Post, на котором будет отображаться комментарий. По умолчанию — текущий пост.

Примеры использования

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

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

 "ответить на комментарий", 'depth' => 5 ] ); ?>

Вывод будет следующим:

Ответить

Пример 2: Подключение скрипта comment-reply.js

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

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

Либо лучше добавить этот код в functions.php:

add_action( 'wp_enqueue_scripts', 'enqueue_comment_reply' );

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

Пример 3: Подключение comment-reply.js только при необходимости

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

add_action( 'wp_enqueue_scripts', 'enqueue_comment_reply' );

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

Пример 4: Изменение CSS класса у ссылки ответа с помощью хуков

Чтобы изменить класс CSS у ссылки ответа, можно использовать хук:

add_filter( 'comment_reply_link', 'wpdocs_comment_reply_link_class' );

function wpdocs_comment_reply_link_class( $class ) {
    $class = str_replace( "class='comment-reply-link", "class='comment-reply-link your-class-name", $class );
    return $class;
}

Замечания

  • Информация о функции get_comment_reply_link() доступна в документации.

Изменения

В версии 2.7.0 была введена данная функция.

Код функции

Функция comment_reply_link расположена в файле wp-includes/comment-template.php:

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

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

Расширьте свои знания о комментариях, изучив следующие функции:

  • comment_author()
  • comment_author_email()
  • comment_date()
  • wp_list_comments()

Эти функции помогут вам лучше понять, как работать с комментариями в WordPress и как их настраивать.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *