Столкнулся с забавной проблемой. При отправке сообщения через форму обратной связи (она у меня реализована через плагин Contact Form 7), письмо не отправлялось, а плагин отдавал ошибку Ошибка отправки сообщения. Попытайтесь позже или обратитесь к администратору сайта. Первым дело конечно полез смотреть в настройки формы. Оказалось, что данную ошибку скрипт отправляет в случае если akismet блокирует сообщения, которые по его мнению являются спамными.
Интересно…
Про плагин contact form 7 вы можете прочитать в моей статье Плагин для обратной связи на wordpress
Перед тем как рыть дальше, увидел, что последние обновления плагина внесли коррективы в шорткод который вставляется на нужную страницу и собственно формирует на ней эту самую форму. Было так:
[contact-form 1 «Форма для контакта 1″]
А теперь стало так:
[contact-form-7 id=»3077″ title=»Форма для контакта 1»]
Поменял, и о чудо, форма заработала. Большинству из вас этого уже достаточно. Форма будет работать и отправлять письма. Но мне стало интересно, что же все таки делает акисмет и как его алгоритмы подключить к проверке отправленных сообщений, через Contact Form 7. Признаюсь честно, спам через эту форму, меня немного бесил, каптча спасает но спам не такой большой, чтобы её включать. Ответ получил у разработчиков самого плагина.
Для того, чтобы использовать akismet, естественно он должен уже быть настроен в вашем блоге. Теперь достаточно изменить некоторые текстовые поля в самой форме (отредактирует её).
akismet:author
Добавьте его в поле которое принимает имя отправителя сообщения.
Пример:
[text* your-name akismet:author]
akismet:author_email
Добавьте его в поле, которое принимает емейл отправителя.
Пример:
[email* your-email akismet:author_email]
akismet:author_url
Добавьте этот код в поле, куда отправитель вставляет адрес URL.
Пример
[text your-url akismet:author_url]
Кода данные поля, будут прописаны, и сама фора сохранена. Данные этих форм, будут передаваться на обработку akismet и соответственно блокироваться по необходимости. Пока интеграция реализована на этом уровне. Добавка кода akismet в другие поля, не вызвала никакого эффекта (к примеру в поле темы или самого текста сообщения).
Теперь к 3 вариантам ответа Contact Form 7 (маркированных цветом), добавился еще один — оранжевый. Именно его цвет и текст дает понять, что сообщение не прошло проверку через akismet. Напомню, что другие поля означают соответственно успешность отправки письма, ошибку при вводе каптчи, и ошибку в работе самого скрипта. Картинка ниже:
Теперь проверим работу плагина. Введём в поле Ваше имя, текст «test-123». Естественно, получим ошибку.
В современном мире очень важно всегда быть на связи в любой точке планеты в новом интернет магазине вы сможете приобрести спутниковый телефон за смешную цену ,а также подобрать тариф и выбрать оператора спутниковой связи
Вау, это то, что я искал, какой материал! существующий здесь, на этом сайте, Спасибо администратору этого сайта.|
Да, есть такой косяк.