Защита от спама в WordPress без плагинов
Почти 3 года назад я опубликовал статью о "защите от спама" путем подмены полей. Этот метод и сейчас работает идеально, Akismet вылавливает лишь штук 5 ручных спамных комментариев в месяц...
Понравился пост? Подпишись на обновления по RSS или Twitter !
#41,
проверил на теме twentyeleven - свое поле появляется, никаких проблем не возникает.
#42,
Не впервый раз удивляюсь движку wp. почти все задачи можно сделать и без плагинов.
Код встал на 3.1.2 как влитой)
Спс за статью.
#43,
За скрипт большое спасибо. Хоелось бы написать не о достоинствах скрипта и как он мне помог, а о том с какого момента у меня начал появлять спам в коментариях. Причина на мой взгляд одна, яндекс. Блог проиндексированный в гугле никакого спама неимел, как только мой сайт проиндекировал яндекс, а это было видно в "яндекс-вебмастер" мой блог сразу стал заваливаться спамом.
#44,
причина в том, что базы спам-скриптов собирают, парся выдачу или яндекса или гугла. ваш сайт попал в индекс - добро пожаловать в базы спам-скриптов.
#45,
А можно ли подобным образом не заменить, а добавить новое поле в блок комментариев к постам?
#46,
в блок добавления комментария или в блок вывода комментария? в блок добавления коммента добавить легко, а вот в блок вывода фиг - надо переписывать функцию wp_list_comments на использование своей функции в functions.php - в кодексе это описано.
#47,
А можно ссылку где об этом можно почитать?
#48,
ну например тут или тут. а вообще поиском по "comment_form_defaults", там много статей по поводу этого фильтра.
#49,
Лучше поздно чем никогда ).
Спасибо за ссылки, в свою очередь тоже хочу поделиться вдруг кому еще интересно.
http://wp.smashingmagazine.com/2012/05/08/adding-custom-fields-in-wordpress-comment-form/
Тут весьма подробно расписан процесс создания плагина который добавляет custom поля в блок комментариев. При чем с простановкой рейтинга статей. Сайт на английском, но вобщем-то все понятно. К тому же после приведенного кода есть возможность скачать сам плагин.
Удачи в разработках!
#50,
При попытке добавить комментарий выводит "comment can not be empty" В чём проблема, как исправить?
#51,
внимательно повторите все шаги по установке этого хака. такая ошибка (пустой комментарий) может возникнуть, если вы не сделали второй части хака, например.
хак точно рабочий, и работает на любой версии вордпресс. причем проверено это на сотне сайтов.
#52,
у меня WordPress 3.4.1. тема - gracia.
комменты у меня вроде выводятся старым способом, так как в functions.php нашёл строчку:
заменил её на
в css дописал -
Второе поле скрылось как и положено. Но при попытке добавить комментарий пишет что то типа - введите текст комментария. То есть видимо принимает комменты только та форма которая скрылась. Подскажите чём может быть проблема?
#53,
вы в functions.php шаблона прописали код:
потому что именно в этом коде идет проверка на заполненное поле 'comment' и если оно не заполнено (значит не автоспам), то данные из real-comment присваиваются обратно в comment. раз у вас пишет, что комментарий не заполнен - то значит этот код не срабатывает. а вот по какой причине смотрите сами.
#54,
Код прописан. Когда отключаю плагин "древовидных комментариев: WordPress Thread Comment" всё работает. Хотя на других сайтах, всё работает нормально.
#55,
ну естественно оно работать не будет.
надо и в плагине менять comment на real-comment.
как, собственно, в любых других плагинах, которые работают с комментариями.
хотя объясните - зачем вам плагин древовидных комментов, когда вордпресс ввел их поддержку еще несколько лет назад?
#56,
Подскажите, как активировать средствами вордпресс?
#57,
в настройках комментариев в админке.
правда, поддержку древовидных комментов должна поддерживать тема, а ваша, судя по всему, их не поддерживает.
что, впрочем, не мешает заставить ее поддерживать - заменой старой функции вывода комментов на новую.
#58,
в functions.php я ничего не прописывал, так как выполнял только действия по пункту 1. вашего руководства, как для старого кода вывода комментариев. сейчас попробую всё проделать снова + допишу в functions.php указанный вами код.
потом отпишусь о результате.
ещё хотел спросить правильно ли я заменил код на новый в comments.php, о чём написал в прошлом сообщении.?
правда я там перепутал comments.php с functions.php, не обращайте внимания.
p.s. тут в комменты ещё какой то Asif влез, это не я.
#59,
что для старой функции - что для новой - прописать код в functions.php надо для обоих вариантов.
код у вас выглядит рабочим, но со стороны сложно судить, проверяйте лично.
#60,
ясно. просто у вас так написано, что для тех у кого старая функция вывода - нужно выполнить пункт 1, у кого новая - пункт 2 (по крайней мере я так понял сначала).
в общем добавил код в functions.php и теперь всё нормально - комменты вручную проходят, спама нет. спасибо вам огромное.
не могли бы вы уточнить порядок изменения кода для тех у кого новая функция вывода комментов? (хочу проделать то же самое на другом своём сайте, у него кажется нет старой функции в comments.php)