Функция get_comment_text()
возвращает текст указанного комментария либо текущего комментария в цикле, если аргумент с ID не передан. Это удобный способ программно получить содержимое комментария без вывода его на экран.
get_comment_text( int|WP_Comment $comment_id = null, array $args = array() ): string
get_comment_text()
используется для получения текста комментария. Если вы хотите вывести текст напрямую на экран, используйте функцию comment_text()
.
Эта функция работает на основе get_comment()
и возвращает текст комментария в виде строки.
Параметры
$comment_id
(int|WP_Comment, необязательный)
ID или объект комментария, текст которого нужно получить. Если параметр не передан, функция попытается получить текст текущего комментария в цикле.
По умолчанию: текущий комментарий в цикле.$args
(array, необязательный)
Массив аргументов для настройки возвращаемого значения. Аргументы передаются в хукget_comment_text
.
По умолчанию: пустой массивarray()
.
Аргументы для $args
могут изменять поведение функции:
format
Указывает формат текста комментария. Возможные значения:'html'
(по умолчанию) или'plain'
.short_ping
Отображать ли текст комментария как «пингбек» или «трэктбек». Принимаетtrue
илиfalse
.avatar_size
Размер аватара, который отображается с текстом комментария (в пикселях).callback
Указывает callback-функцию для кастомного отображения текста комментария.end-callback
Указывает callback-функцию для отображения закрывающих тегов HTML после текста комментария.type
Указывает тип комментария:'comment'
,'pingback'
, или'trackback'
.reply_text
Текст для ссылки «Ответить» в древовидных комментариях. По умолчанию —'Reply'
.max_depth
Указывает максимальную глубину древовидных комментариев.echo
Указывает, выводить ли текст комментария сразу (true
) или вернуть его как строку (false
). По умолчанию —true
.
Возвращаемое значение
string
Возвращает строку с текстом комментария.
Пример 1: Получение текста конкретного комментария
В следующем примере мы получаем текст комментария с ID 123:
$text = get_comment_text( 123 );
echo $text;
Пример 2: Изменение текста для определенных комментариев
Используя фильтр get_comment_text
, можно изменить текст для комментариев с конкретными ID. Например, давайте изменим текст для комментариев с ID 123и 15:
add_filter( 'get_comment_text', 'wpdocs_change_comment_text', 10, 2 );
function wpdocs_change_comment_text( $text_content, WP_Comment $comment ) {
if ( in_array( $comment->comment_ID, array( 123, 15 ) ) ) {
$text_content = __( 'Этот комментарий был удален!' );
}
return $text_content;
}
Этот код изменит текст комментариев с ID 123и 15 на фразу «Этот комментарий был удален!».
Пример 3: Ограничение вложенности комментариев
Вы можете ограничить глубину комментариев с помощью аргумента max_depth
. В следующем примере мы ограничиваем глубину вложенности до 1 уровня:
$args = array( 'max_depth' => 1 ); // ограничиваем глубину комментариев до одного уровня
$parent_comment_text = get_comment_text( $comment->comment_parent, $args );
echo $parent_comment_text;
Этот код получает текст родительского комментария с ограничением глубины до одного уровня.
Хуки
get_comment_text
Этот фильтр позволяет изменить текст комментария перед его выводом или получением.
Заключение
Функция get_comment_text()
— это мощный инструмент для работы с комментариями в WordPress. Она позволяет гибко получать и изменять текст комментария, а также легко кастомизировать вывод с помощью фильтров и аргументов.