Il n’est jamais bon d’afficher pleinement une adresse e-mail sur une page de votre site/blog WordPress. En effet, un spambot peut la récupérer pour l’inscrire à des listes de spam. Mieux vaut donc la leur cacher.
Comment encoder une adresse e-mail sur WordPress avec un shortcode ?
WordPress intègre par défaut une fonction d’encryptage des adresses e-mail “antispambot()” afin de convertir les adresses e-mails en html entities, il serait dommage de ne pas s’en servir simplement via un shortcode qui vous permettra de cacher vos adresses e-mails publiques aux robots.
Ajoutez le code suivant à votre fichier functions.php :
<?php
// encoder les adresses mails via shortcode wordpress
function wpln_encode_email( $atts, $adresse ) {
return '<a href="mailto:' . antispambot( $adresse ) . '">' . antispambot( $adresse ) . '</a>';
}
add_shortcode( 'email', 'wpln_encode_email' );
?>
Utilisez ensuite à votre guise le shortcode suivant :
[email]monadresse@email.com[/email] pour afficher vos adresses e-mail sur vos pages, widgets, articles, etc… qui seront ensuite retournées comme ceci :
<a href="mailto:email@domain.com">email@domain.com</a>
2 Comments
Bonjour, merci pour cette astuce qui est la plus simple ! peut-on remplacer l’adresse mail affichée par un texte à sa convenance du type “Envoyer un email”? Merci
Bonjour Luc, oui, c’est tout à fait possible, il suffit de remplacer le second antispambot par votre message. Je suis actuellement en vacances et il m’est donc difficile de vous envoyer un extrait de code. Cependant n’hésitez pas à m’envoyer un mail et je vous répondrai à mon retour. Bien à vous