Функция antispambot()
в WordPress предназначена для защиты email-адресов от спам-ботов. Она преобразует символы email-адреса в HTML-сущности, что делает адрес менее заметным для автоматических ботов, собирающих электронные почты с веб-страниц. Тем не менее, люди смогут видеть адрес без искажений.
antispambot( string $email_address, int $hex_encoding = 0 ): string
Параметры
$email_address
(обязательный): Адрес электронной почты, который нужно защитить.$hex_encoding
(необязательный): Определяет тип кодировки. При значении1
включается шестнадцатеричное кодирование. По умолчанию установлено значение0
(десятичное кодирование).
Возвращаемое значение
Строка с закодированным email-адресом, состоящая из HTML-сущностей.
Пример 1: Преобразование email в HTML-сущности
echo antispambot('[email protected]');
Результат в коде страницы:
example@site.com
Результат на экране:[email protected]
В этом примере адрес отображается корректно для пользователя, но скрыт от большинства спам-ботов.
Пример 2: Использование hex-кодирования
echo antispambot('[email protected]', 1);
Результат в коде страницы:
user@domain.com
Результат на экране:[email protected]
С использованием шестнадцатеричного кодирования символы преобразуются в формат &#x;
, что ещё больше затрудняет их распознавание автоматизированными сканерами.
Пример 3: Создание шорткода для защиты email
Функцию antispambot()
можно интегрировать с шорткодом, чтобы скрыть email в контенте сайта.
function custom_hide_email_shortcode($atts, $content = null) {
if (!is_email($content)) {
return;
}
return '<a href="' . esc_url('mailto:' . antispambot($content)) . '">' . esc_html(antispambot($content)) . '</a>';
}
add_shortcode('protect_email', 'custom_hide_email_shortcode');
Теперь, добавляя [protect_email][email protected][/protect_email]
в контенте, email будет отображен пользователям как обычная ссылка, но закодирован для ботов.
Пример 4: Использование шорткода в виджетах
Чтобы использовать шорткод в текстовых виджетах, можно добавить фильтры:
add_filter('widget_text', 'do_shortcode');
После этого шорткод [protect_email][email protected][/protect_email]
можно использовать в текстовом виджете, чтобы защитить адрес от спама.
Заключение
Функция antispambot()
предоставляет удобный способ защитить email-адреса от спам-ботов. Она заменяет символы email на HTML-сущности, при этом оставляя адрес доступным для пользователей.