comment_excerpt()

Отображает выдержку текущего комментария
Функция WordPress
INT 1.2.0
WordPress Icon

Описание функции

Функция comment_excerpt() используется для вывода отрывка текущего комментария. Отрывок комментария — это короткое описание комментария, которое обычно используется в списке комментариев или на странице комментария.

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

comment_excerpt( int|WP_Comment $comment_id )

Функция comment_excerpt() принимает один необязательный параметр — $comment_id, который может быть либо объектом WP_Comment, либо идентификатором комментария. По умолчанию используется текущий комментарий.

  • $comment_id int|WP_Comment: Необязательный. Объект WP_Comment или идентификатор комментария, для которого нужно вывести отрывок. По умолчанию — текущий комментарий.
<?php
// Получаем текущий комментарий
$current_comment = get_comment();
// Выводим отрывок комментария
comment_excerpt( $current_comment );
?>

В этом примере мы используем функцию get_comment() для получения текущего комментария. Затем мы передаем этот комментарий в функцию comment_excerpt(), чтобы вывести его отрывок.

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

Вывод краткого комментария в шаблоне


/**
 * Display the excerpt of the current comment.
 *
 * @param int|WP_Comment $comment_id Optional. WP_Comment or ID of the comment for which to print the excerpt. Default current comment.
 */
function my_comment_excerpt() {
    global $comment;
    
    // Output the comment excerpt
    echo comment_excerpt($comment->comment_ID);
}

В этом примере мы создаем пользовательскую функцию my_comment_excerpt(), которая использует функцию comment_excerpt() для вывода краткого комментария текущего комментария. Мы передаем ID комментария в качестве параметра в функцию comment_excerpt() и выводим результат с помощью echo.

Форматирование краткого комментария


/**
 * Display the formatted excerpt of the current comment.
 *
 * @param int|WP_Comment $comment_id Optional. WP_Comment or ID of the comment for which to print the excerpt. Default current comment.
 */
function my_formatted_comment_excerpt() {
    global $comment;
    
    // Get the comment excerpt
    $excerpt = comment_excerpt($comment->comment_ID);
    
    // Format the excerpt
    $formatted_excerpt = wpautop($excerpt);
    
    // Output the formatted excerpt
    echo $formatted_excerpt;
}

В этом примере мы создаем пользовательскую функцию my_formatted_comment_excerpt(), которая использует функцию comment_excerpt() для получения краткого комментария текущего комментария. Затем мы используем функцию wpautop() для форматирования краткого комментария, добавляя абзацы и переносы строк. Наконец, мы выводим отформатированный краткий комментарий с помощью echo.

Изменение длины краткого комментария


/**
 * Display a custom length excerpt of the current comment.
 *
 * @param int|WP_Comment $comment_id Optional. WP_Comment or ID of the comment for which to print the excerpt. Default current comment.
 * @param int $length Optional. The maximum number of words to display. Default 20.
 */
function my_custom_comment_excerpt() {
    global $comment;
    
    // Get the comment excerpt with a custom length of 10 words
    $excerpt = comment_excerpt($comment->comment_ID, 10);
    
    // Output the custom length excerpt
    echo $excerpt;
}

В этом примере мы создаем пользовательскую функцию my_custom_comment_excerpt(), которая использует функцию comment_excerpt() для получения краткого комментария текущего комментария с заданной длиной в 10 слов. Затем мы выводим краткий комментарий с помощью echo.

Создание собственного шаблона для краткого комментария


/**
 * Display a custom template for the excerpt of the current comment.
 *
 * @param int|WP_Comment $comment_id Optional. WP_Comment or ID of the comment for which to print the excerpt. Default current comment.
 */
function my_custom_template_comment_excerpt() {
    global $comment;
    
    // Get the comment excerpt
    $excerpt = comment_excerpt($comment->comment_ID);
    
    // Output the custom template for the excerpt
    echo '<div class="comment-excerpt">' . $excerpt . '</div>';
}

В этом примере мы создаем пользовательскую функцию my_custom_template_comment_excerpt(), которая использует функцию comment_excerpt() для получения краткого комментария текущего комментария. Затем мы выводим краткий комментарий, обернутый в пользовательский шаблон с помощью HTML-тегов <div>.

Добавление ссылки на комментарий в кратком комментарии


/**
 * Display the excerpt of the current comment with a link to the comment.
 *
 * @param int|WP_Comment $comment_id Optional. WP_Comment or ID of the comment for which to print the excerpt. Default current comment.
 */
function my_comment_excerpt_with_link() {
    global $comment;
    
    // Get the comment excerpt
    $excerpt = comment_excerpt($comment->comment_ID);
    
    // Get the comment link
    $comment_link = get_comment_link($comment->comment_ID);
    
    // Output the comment excerpt with a link to the comment
    echo '<a href="' . $comment_link . '">' . $excerpt . '</a>';
}

В этом примере мы создаем пользовательскую функцию my_comment_excerpt_with_link(), которая использует функцию comment_excerpt() для получения краткого комментария текущего комментария. Затем мы используем функцию get_comment_link() для получения ссылки на комментарий. Наконец, мы выводим краткий комментарий с ссылкой на комментарий с помощью HTML-тегов <a>.

Вопросы и ответы

Как изменить длину отображаемого отрывка комментария?

Функция comment_excerpt() в WordPress отображает отрывок текущего комментария. Но что, если вы хотите изменить длину этого отрывка? Нет проблем!

Для этого вы можете использовать фильтр comment_excerpt_length. Просто добавьте следующий код в файл functions.php вашей темы:

// Изменяем длину отрывка комментария на 20 слов
function custom_comment_excerpt_length( $length ) {
    return 20;
}
add_filter( 'comment_excerpt_length', 'custom_comment_excerpt_length' );

Теперь отрывок комментария будет содержать только 20 слов.

Как удалить HTML-теги из отрывка комментария?

Иногда вам может потребоваться удалить HTML-теги из отрывка комментария, чтобы он отображался только в виде обычного текста.

Для этого вы можете использовать функцию strip_tags(). Вот пример кода:

// Удаляем HTML-теги из отрывка комментария
function custom_comment_excerpt( $comment_id ) {
    $comment = get_comment( $comment_id );
    $excerpt = strip_tags( $comment->comment_excerpt );
    echo $excerpt;
}

Теперь отрывок комментария будет отображаться без HTML-тегов.

Как добавить ссылку на комментарий в отрывок?

Иногда вы можете захотеть добавить ссылку на сам комментарий в его отрывок. Это может быть полезно, если вы хотите, чтобы пользователи могли легко перейти к комментарию.

Для этого вы можете использовать функцию get_comment_link(). Вот пример кода:

// Добавляем ссылку на комментарий в отрывок
function custom_comment_excerpt( $comment_id ) {
    $comment = get_comment( $comment_id );
    $excerpt = $comment->comment_excerpt;
    $permalink = get_comment_link( $comment_id );
    echo '<a href="' . $permalink . '">' . $excerpt . '</a>';
}

Теперь отрывок комментария будет содержать ссылку на сам комментарий.

Как изменить стиль отображения отрывка комментария?

Функция comment_excerpt() позволяет отобразить отрывок текущего комментария. Стиль отображения этого отрывка может не всегда соответствовать требованиям вашего проекта. Но не стоит волноваться, ведь WordPress предоставляет возможность легко изменить стиль отображения отрывка комментария.

Для этого вам потребуется использовать фильтр get_comment_excerpt. С помощью этого фильтра вы сможете изменить HTML-разметку и классы, применяемые к отрывку комментария.

// Изменение стиля отрывка комментария
function custom_comment_excerpt( $excerpt ) {
    $excerpt = '<p class="custom-excerpt">' . $excerpt . '</p>';
    return $excerpt;
}
add_filter( 'get_comment_excerpt', 'custom_comment_excerpt' );

Как добавить аватарку пользователя в отрывок комментария?

Отображение аватарки пользователя в отрывке комментария может значительно улучшить визуальное восприятие комментариев на вашем сайте. Для этого вам потребуется использовать функцию get_avatar(), которая возвращает HTML-код аватарки пользователя.

Чтобы добавить аватарку пользователя в отрывок комментария, вам нужно изменить фильтр get_comment_excerpt и добавить вызов функции get_avatar() внутри него.

// Добавление аватарки пользователя в отрывок комментария
function custom_comment_excerpt( $excerpt ) {
    $avatar = get_avatar( get_comment_author_email(), 32 );
    $excerpt = '<p class="custom-excerpt">' . $avatar . $excerpt . '</p>';
    return $excerpt;
}
add_filter( 'get_comment_excerpt', 'custom_comment_excerpt' );

Как изменить формат даты и времени в отрывке комментария?

Функция comment_excerpt() выводит отрывок комментария, который может содержать информацию о дате и времени написания комментария. Если вам необходимо изменить формат отображения даты и времени, вы можете воспользоваться фильтром get_comment_date.

С помощью этого фильтра вы сможете изменить формат даты и времени, добавить дополнительные элементы или удалить ненужные.

// Изменение формата даты и времени в отрывке комментария
function custom_comment_date( $date, $d, $comment ) {
    $date = '<span class="custom-date">' . $date . '</span>';
    return $date;
}
add_filter( 'get_comment_date', 'custom_comment_date', 10, 3 );

Как добавить кнопку ‘Читать далее’ в отрывок комментария?

Для добавления кнопки ‘Читать далее’ в отрывок комментария, можно использовать следующий код:


function custom_comment_excerpt( $comment_id ) {
    $comment = get_comment( $comment_id );
    $excerpt = $comment->comment_excerpt;
    
    if ( ! empty( $excerpt ) ) {
        $excerpt .= ' <a href="' . get_comment_link( $comment ) . '">Читать далее</a>';
    }
    
    return $excerpt;
}
add_filter( 'get_comment_excerpt', 'custom_comment_excerpt' );

Как скрыть отрывок комментария, если он пустой?

Если отрывок комментария пустой, можно скрыть его с помощью следующего кода:


function hide_empty_comment_excerpt( $excerpt, $comment ) {
    if ( empty( $comment->comment_excerpt ) ) {
        $excerpt = '';
    }
    
    return $excerpt;
}
add_filter( 'get_comment_excerpt', 'hide_empty_comment_excerpt', 10, 2 );

Как изменить текст ‘Читать далее’ в отрывке комментария?

Для изменения текста ‘Читать далее’ в отрывке комментария, можно использовать следующий код:


function change_read_more_text( $excerpt, $comment ) {
    if ( ! empty( $excerpt ) ) {
        $excerpt = str_replace( 'Читать далее', 'Read more', $excerpt );
    }
    
    return $excerpt;
}
add_filter( 'get_comment_excerpt', 'change_read_more_text', 10, 2 );

Функция comment_excerpt() в WordPress используется для отображения отрывка текущего комментария. Она принимает параметр $comment_id, который может быть объектом WP_Comment или ID комментария. Если отрывок комментария не пустой, можно добавить кнопку ‘Читать далее’ с помощью фильтра get_comment_excerpt. Если отрывок комментария пустой, его можно скрыть с помощью того же фильтра. Также можно изменить текст ‘Читать далее’ на другой с помощью фильтра get_comment_excerpt.

Связанные элементы

  • Функция get_comment_excerpt(): Возвращает отрывок комментария.
Обсуждение