Libra Media работает на хостинге Beget. Хочешь свой сайт? Регистрируйся и получи любой тариф бесплатно на месяц!
Как заблокировать отправку комментариев на WordPress с определенным текстом в поле «Сайт»

WordPress. Блокировка комментариев по тексту в поле «Сайт»

Опубликовано: 04.07.2022
2 минуты на чтение

Столкнулся недавно с довольно простой, но нестандартной задачей. Было необходимо заблокировать отправку комментариев на сайте на WordPress в случае наличия в поле «Сайт» одного из слов по заранее известному списку.

Дело в том, что один из моих проектов повадился атаковать спам-бот, значительная часть комментариев которого пробивала фильтры Akismet’а и уходила на премодерацию. Отличительным признаком данного бота являлось то, что он не мог пройти мимо поля «Сайт» в форме для комментариев и всегда пытался заполнить его каким-то текстом вроде «Сайт не в работе», «Сайт отсутствует», «Сайта нет».

Решение лежало на поверхности — собрать используемые ботом текстовки и добавить проверку на их наличие в соответствующем поле перед публикацией комментария. В случае совпадения — выводить сообщение об ошибке.

Как заблокировать отправку комментариев на WordPress с определенным текстом в поле «Сайт»

Привожу пример кода, который реализует данную проверку:

add_filter( 'pre_comment_on_post', 'verify_site_field' );
function verify_site_field( $commentdata ) {
 	if ($_POST['url'] == 'Отсутствует' ||  $_POST['url'] == 'Сайта пока нет' ||  $_POST['url'] == 'Сайт не в работе' ||  $_POST['url'] == 'Сайт отсутствует' ||  $_POST['url'] == 'Сайта нет' ||  $_POST['url'] == 'Нет' ||  $_POST['url'] == 'Сайт отсуствует')
	{
		wp_die( 'Антиспам-защита детектировала в вас назойливого спам-бота. <br> Подумайте над тем, как вы заполняете поле "Сайт"!' );
	} 
}

Данный код нужно разместить в файле functions.php используемой темы WordPress. Тексты надо заменить на свои. При необходимости можно добавлять новые условия для фильтрации через знак || (условие ИЛИ на языке PHP).

Автор статьи:
Дмитрий
С 2013 года профессионально занимается созданием и продвижением коммерческих и информационных веб-сайтов. В 2018 году завел блог Libra Media, в котором делится опытом и практическими наработками в сфере SEO, администрирования серверов и доработок для сайтов на Bitrix и WordPress.
#WordPress

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

Ваш адрес email не будет опубликован.