antispambot — функция для защиты email адресов на блоге от спам-ботов

Функция преобразует рандомные символы в емаил в HTML-сущности, тем самым делая его невидимым для ботов.

Что будет видеть бот:

true@truemisha.ru

Что будет видеть человек:

true@truemisha.ru

Мне кажется этот способ уж получше, чем вставлять вместо email картинку :)

Использование

<?php antispambot( $email, $mailto ) ?>

Параметры

$email
(строка) (обязательный параметр) адрес email

$mailto
(целое число) включает более хитрое кодирование. Если указать 1, то вывести email на странице в читаемом виде уже не удастся, зато можно с успехом использовать в ссылках типа <a href="mailto:
по умолчанию — 0

<a href="mailto:<?php echo antispambot('true@truemisha.ru', 1) ?>">
	<?php echo antispambot('true@truemisha.ru') ?>
</a>

Вот что получится:

слева - как будет выглядеть ссылка на сайте, справа - исходный код

Возвращаемые значения

(строка) закодированный email адрес.
Каждый раз возвращает разные значения, так как преобразует случайно выбранные символы из email.

Использование внутри содержимого поста при помощи шорткода

Сначала вставим это в functions.php:

function true_email_shortcode( $atts, $content ){
	return '<a href="mailto:'.antispambot($content, 1).'">'.antispambot($content).'</a>';
}
 
add_shortcode( 'email', 'true_email_shortcode' );

Затем, при написании поста можно использовать этот шорткод:

[email]true@truemisha.ru[/email]

P.S. До этого я никогда не защищал свои email адреса подобным способом, использовал их в обычном виде на сайтах, но спама так и не заметил (возможно это Gmail так хорошо фильтрует, я хз).

P.P.S. Основная причина заспамленности почтового ящика на мой взгляд — это указывать его при регистрации на сомнительных сайтах.

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

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • Миша: Добрый день! В принципе вам только немного нужно доработать код из этого поста - категории уже есть, цена - это и так...

  • eveniy: Добрый день Михаил, подскажите на примере как добавить свои произвольные поля в в вашу форму фильтрации: Я так понимаю...

  • Миша: Отлично! )

  • Дмитрий: сам разобрался: в настройках кастомного типа записи недавно оптимизировал настройки и переоптимизировал: в аргументе 'ta...

  • Дмитрий: У меня по какой-то причине пропало отображение (как в колонке меню слева, так и метабокс в записях ) раздела рубрик для...