Folgendes Shortcode-Snippet ist nützlich, um E-Mails zu verschleiern, um sie vor SPAM zu schützen. Dazu der Hinweis, dass diese Methode nur funktioniert, wenn Javascript aktiviert ist. Darüber hinaus gibt es keinen 100%igen Schutz vor Bots, die E-Mail Adressen von Websites sammeln.
add_shortcode( 'mnc_mail', function ( $atts ) {
$atts = shortcode_atts( [ 'email' => '' ], $atts, 'mnc_mail' );
$calc_mail = function ( $text ) {
$encoded_text = '';
$length = mb_strlen($text, 'UTF-8');
for ($i = 0; $i < $length; $i++) {
$char = mb_substr($text, $i, 1, 'UTF-8');
$encoded_text .= '\\u' . sprintf("%04x", ord($char));
}
return $encoded_text;
};
$obfuscate = $calc_mail($atts['email']);
return <<< FORMAT
<a href="javascript:location='mailto:$obfuscate';void 0"><script type="text/javascript">document.write('$obfuscate')</script></a>
FORMAT;
} );
Code-Sprache: PHP (php)