web-dev-qa-db-fra.com

Problème d'utilisation antispambot ()

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:

&#106;&#111;h&#110;&#46;&#100;&#111;&#101;&#64;mysit&#101;.&#99;&#111;&#109;

Cependant, l'encodage ne semble pas fonctionner dans mon cas.

2
mantis

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>
2
birgire