Комментарии WordPress позволяют развить обсуждения вашей темы. Однако, возможно, вы можете посчитать, что комментарии больше или меньше определенной длины не слишком полезны. В данной статье мы покажем вам, как ограничить длину комментариев в WordPress. Таким образом, вы сможете установить минимальный и максимальный предел длины комментариев для своего сайта WordPress.
Зачем ограничивать размер комментариев в WordPress?
Как показывает наш опыт модерирования онлайн-дискуссий за прошедшее десятилетие, самые полезные комментарии обычно варьируются в пределах от 60 знаков до 5000 знаков.
Когда человек пишет свой комментарий, состоящий всего лишь из одного слова, вряд ли его можно назвать полезным. В большинстве случаев это откровенный спам, поскольку автор просто пытается заработать обратную ссылку с вашего сайта.
Однако если человек пишет комментарий более 5000 символов, это может быть просто пустословие/жалоба, что в большинстве случаев даже не относится к теме исходной статьи.
Задав пределы длины комментариев в WordPress, вы сможете улучшить качество своих комментариев.
Давайте взглянем на то, как управлять длиной комментариев в WordPress.
Существует два метода ограничения длины комментариев в WordPress. Первый метод требует от вас установки плагина. Второй метод использует простой фрагмент кода, который можно добавить к своему сайту.
Метод 1. Ограничение длины комментариев с помощью плагина
Первое, что вам нужно сделать – это установить и активировать плагин Control Comment Length. После активации просто перейдите к разделу Параметры — Control Comment Length для настройки параметров плагина.
Интерфейс плагина на английском вперемешку с немецким. Вы можете задавать минимальное и максимальное число символов для комментария. Мы рекомендуем вам использовать 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; }
Вот как будет выглядеть сообщение:
Источник: wpbeginner.com
А как ограничить глубину комментариев – максимальная глубина в 2 комментария? Причем второй коммент (ответ верхнему комменту) может оставлять только админ
Есть фильтр 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
Тут приведен код, который надо прописать в дочерней теме (можно и в обычной теме, но тогда после обновления темы все пропадет).
Благодарю!
Спасибо большое за статью, как то я подзабыл о таком варианте, думаю, что он один из самых простых и надежных. Буду пользоваться им.
Спасибо за информацию. Полезно.
Правда, с проблемой длинных комментариев я сталкивалась только на одном из моих сайтов и только один раз (точнее, это растянулось надолго, о тех пор, пока не приняла меры). И это была совсем другая история…
Спам. Многословные, многострочные комментарии — иероглифами. Атаковали таким «счастьем» долго. Пришлось установить капчу.