Фильтр comment_text в WordPress: Как изменить текст комментариев

Фильтр comment_text в WordPress позволяет разработчикам изменять текст комментариев перед его выводом. Это может быть полезно для добавления HTML-разметки, изменения содержания или выполнения других манипуляций с текстом комментариев.

Как это работает

Когда комментарии выводятся на страницах постов, WordPress применяет фильтр comment_text к каждому комментарию. Этот фильтр позволяет перехватить текст комментария, внести изменения и вернуть его в измененном виде. Он принимает два аргумента: текст комментария и объект комментария, что позволяет выполнять различные действия в зависимости от содержания комментария или его атрибутов.

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

Рассмотрим пример, в котором мы добавим HTML-разметку в текст комментария для выделения определенных ключевых слов. Мы будем использовать фильтр comment_text, чтобы обернуть слово «важно» в тег <strong>.

Шаг 1: Добавление функции для изменения текста комментария

Откройте файл functions.php вашей темы и добавьте следующий код:

function highlight_important_words( $comment_text, $comment ) {
    // Заменяем слово "важно" на его выделенную версию
    $comment_text = str_replace( 'важно', '<strong>важно</strong>', $comment_text );
    
    // Можно добавить дополнительные изменения, если необходимо
    // Например, добавить ссылку на правила поведения
    $comment_text .= '<p>Пожалуйста, следуйте нашим <a href="/правила">правилам</a> при оставлении комментариев.</p>';
    
    return $comment_text; // Возвращаем измененный текст комментария
}
add_filter( 'comment_text', 'highlight_important_words', 10, 2 );

Как работает этот код

  1. Функция highlight_important_words принимает два аргумента: $comment_text — это исходный текст комментария, а $comment — объект комментария, содержащий информацию о нем.
  2. Мы используем str_replace, чтобы заменить все вхождения слова «важно» на его выделенную версию с использованием тега <strong>. Это позволяет выделить ключевые слова для привлечения внимания.
  3. Далее мы добавляем дополнительный текст в конце комментария, который содержит ссылку на правила поведения на сайте. Это может помочь пользователям ознакомиться с правилами перед оставлением комментария.
  4. Наконец, мы возвращаем измененный текст комментария.

Зачем использовать comment_text?

Фильтр comment_text полезен в различных сценариях:

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

Почитаем еще?: