Существует множество способов скрыть свой email-адрес, но при этом оставить возможность посетителей сайта связаться с автором, об одном из них, а именно об обфускации email-адреса штатными средствами WordPress, сегодня пойдет речь.
Причины по которым возникает необходимость скрыть свой email-адрес могут разными, как не попадание адреса в индекс поисковых систем, так и нежелание получать спам.
К счастью, разработчики WordPress позаботились о том, чтобы мы могли скрыть email-адрес не затрудняя общение с пользователями. Движок обладает встроенной функцией antispambot(), в ней можно передавать любой адрес электронной почты и получать на выходе тот же самый адрес перекодированный в спецсимволы.
В результате посетитель сайта увидит обычный email-адрес и сможет его скопировать, а боты и пауки просматривающие код страницы увидят зашифрованную строку, совершенно не похожую на email-адрес, примерно такую:
1 | <a href="mailto:m%6d%#46;c%6f%6d">%6d%65@mys%69te.%63%6fm</a> |
Чтобы воспользоваться функцией antispambot() необходимо добавить следующий код в файл functions.php вашей активной темы:
1 2 3 4 5 6 7 8 9 10 11 12 | /** * Hide email from Spam Bots using a shortcode. */ function wpcodex_hide_email_shortcode( $atts , $content = null ) { if ( ! is_email( $content ) ) { return; } return '<a href="mailto:' . antispambot( $content ) . '">' . antispambot( $content ) . '</a>'; } add_shortcode( 'email', 'wpcodex_hide_email_shortcode' ); |
Вызов функции осуществляется так:
1 2 3 4 | <?php echo antispambot( 'myemail@mysite.com' ); ?> |
Вызвать функцию можно в любом месте сайта, в значение подставить ваш email-адрес. Если необходимо вызывать функцию прямо из статьи, то используйте такой код:
1 | [email]myemail@mysite.com[/email] |
Обфускация — это запудривание кода, его маскировка, этот термин очень хорошо объясняет наши манипуляции с email-адресами.