Мало на свете любителей проходить капчу при заполнении контактной формы. Но еще меньше желающих получать спам со своего сайта. Как удовлетворить и посетителей, и владельцев?
Есть два варианта.
Captcha v.3 от Google.
Ставится просто, надо только заполнить нужные поля по адресу https://www.google.com/recaptcha/intro/v3.html, получить необходимые коду и вставить их в разделе Интеграция. Есть один существенный минус — в нижнем углу экрана будет вечно плавать значок гугла.
Невидимая captcha своими руками.
Этот вариант более изящный.
- В конце формы размещаем чекбокс такого вида:
[acceptance agree class:agree default:on invert]
- Следом размещаем следующий код:
<script language="javascript"> jQuery('.agree').prop('checked', false); </script>
Эту часть рекомендовано вставлять в шаблон, но у меня не заработало. А в форме все в порядке.
- Открываем форму на странице и убеждаемся, что флажок автоматически снимается. После этого в style.css, а лучше в Внешний вид/Настройки/Дополнительные стили скрываем вставленный чебокс:
.agree {display:none}
Как работает этот метод.
Форма отправляется только в том случае, если флажок снят. По умолчанию он установлен. Робот или его не видит, или оставляет, думая, что это согласие на отправку. А человеческий браузер обрабатывает скрипт и флажок снимается.