Как ограничить длину комментариев в WordPress

Дата публикации:Июнь 2, 2015

Комментарии WordPress позволяют развить обсуждения вашей темы. Однако, возможно, вы можете посчитать, что комментарии больше или меньше определенной длины не слишком полезны. В данной статье мы покажем вам, как ограничить длину комментариев в WordPress. Таким образом, вы сможете установить минимальный и максимальный предел длины комментариев для своего сайта WordPress.

commentlength

Зачем ограничивать размер комментариев в WordPress?

Как показывает наш опыт модерирования онлайн-дискуссий за прошедшее десятилетие, самые полезные комментарии обычно варьируются в пределах от 60 знаков до 5000 знаков.

Когда человек пишет свой комментарий, состоящий всего лишь из одного слова, вряд ли его можно назвать полезным. В большинстве случаев это откровенный спам, поскольку автор просто пытается заработать обратную ссылку с вашего сайта.

Однако если человек пишет комментарий более 5000 символов, это может быть просто пустословие/жалоба, что в большинстве случаев даже не относится к теме исходной статьи.

Задав пределы длины комментариев в WordPress, вы сможете улучшить качество своих комментариев.

Давайте взглянем на то, как управлять длиной комментариев в WordPress.

Существует два метода ограничения длины комментариев в WordPress. Первый метод требует от вас установки плагина. Второй метод использует простой фрагмент кода, который можно добавить к своему сайту.

Метод 1. Ограничение длины комментариев с помощью плагина

Первое, что вам нужно сделать – это установить и активировать плагин Control Comment Length. После активации просто перейдите к разделу Параметры — Control Comment Length для настройки параметров плагина.

comment-control

Интерфейс плагина на английском вперемешку с немецким. Вы можете задавать минимальное и максимальное число символов для комментария. Мы рекомендуем вам использовать 60 для минимального числа и 5000 для максимального.

Вы можете также добавить сообщение, которое будет выводиться пользователям, когда их комментарии слишком короткие или слишком длинные. Плагин поддерживает эти сообщения только в немецком языке. Вы можете изменить их на свое собственное сообщение.

Метод 2. Ограничение длины комментариев с помощью фрагмента кода

Второй метод предназначен для пользователей, которые не боятся работать с кодом. Мы подцепим свою функцию к фильтру preprocess_comment. Этот фильтр работает перед тем, как WordPress сохраняет любые комментарии в базу данных или запускает любую предварительную обработку для переданных комментариев. Мы будем использовать фильтр, чтобы проверить длину комментариев. Если она выше или ниже заданной планки, то в таком случае мы покажем пользователям сообщение об ошибке.

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

add_filter( 'preprocess_comment', 'wpb_preprocess_comment' );

function wpb_preprocess_comment($comment) {
    if ( strlen( $comment['comment_content'] ) > 5000 ) {
        wp_die('Comment is too long. Please keep your comment under 5000 characters.');
    }
if ( strlen( $comment['comment_content'] ) < 60 ) {
        wp_die('Comment is too short. Please use at least 60 characters.');
    }
    return $comment;
}

Вот как будет выглядеть сообщение:

comment-length-limit

Источник: wpbeginner.com

Поделиться

5 комментариев

  1. Владислав says:

    А как ограничить глубину комментариев – максимальная глубина в 2 комментария? Причем второй коммент (ответ верхнему комменту) может оставлять только админ

    • Дмитрий says:

      Есть фильтр thread_comments_depth_max, с помощью которого можно задавать глубину комментирования (по умолчанию стоит в 10).

      Также можно найти в файле comments.php вызов функции wp_list_comments и добавить к нему: wp_list_comments( array(‘max_depth’ => 2) );

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

      https://wordpress.org/support/topic/comments-can-be-answered-by-the-admin-only-and-show-nested?replies=11

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

  2. Владислав says:

    Благодарю!

  3. Спасибо большое за статью, как то я подзабыл о таком варианте, думаю, что он один из самых простых и надежных. Буду пользоваться им.

  4. Спасибо за информацию. Полезно.
    Правда, с проблемой длинных комментариев я сталкивалась только на одном из моих сайтов и только один раз (точнее, это растянулось надолго, о тех пор, пока не приняла меры). И это была совсем другая история…
    Спам. Многословные, многострочные комментарии — иероглифами. Атаковали таким «счастьем» долго. Пришлось установить капчу.

Оставить комментарий

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

Получать новые комментарии по электронной почте. Вы можете подписаться без комментирования.