J'ai un champ personnalisé dans un thème qui contient une adresse e-mail et j'étais heureux de trouver antispambot()
<p><a href="mailto:<?php antispambot(the_field('queries_e-mail')); ?>"> <?php echo antispambot(the_field('queries_e-mail'));?></a></p>
Cela a l'air bien et fonctionne comme prévu (c'est-à-dire qu'il ouvre une fenêtre de composition), mais lorsque je visualise le code source, il ne semble pas être codé.
<p><a href="mailto:[email protected]"> [email protected]</a></p>
Selon le Codex , l'utilisation par défaut est:
<?php echo antispambot("[email protected]"); ?>
qui devrait produire:
john.doe@mysite.com
Cependant, l'encodage ne semble pas fonctionner dans mon cas.
Je pense que le problème est echo vs return ,
c'est-à-dire que vous utilisez the_field
au lieu de get_field
.
Ce que vous essayez de faire est semblable à ceci:
antispambot( echo( '[email protected]' ) )
mais echo
ne retourne rien.
S'il vous plaît essayez:
<?php $email = antispambot( get_field( 'queries_e-mail' ) ); ?>
<p>
<a href="mailto:<?php echo $email; ?>">
<?php echo $email; ?>
</a>
</p>