Trouble using antispambot()

I have a custom field in a theme that contains an email address and was pleased to find antispambot()

<p><a href="mailto:<?php antispambot(the_field('queries_e-mail')); ?>"> <?php echo antispambot(the_field('queries_e-mail'));?></a></p>

It looks fine and works as intended (ie. it opens a compose mail window) but when I view the code source it doesn’t appear to be encoded.

Read More
<p><a href="mailto:john.doe@mysite.com"> john.doe@mysite.com</a></p>

According to the Codex the default usage is :

<?php echo antispambot("john.doe@mysite.com"); ?>

which should output:

john.doe@mysite.com

However the encoding doesn’t appear to be working in my case.

Related posts

1 comment

  1. I think the problem is echo vs return,

    i.e. that you are using the_field instead of get_field.

    What you’re trying to do is similar to this:

     antispambot( echo( 'john.doe@mysite.com' ) )
    

    but echo returns nothing.

    Please try:

    <?php $email = antispambot( get_field( 'queries_e-mail' ) ); ?>
    
    <p>
        <a href="mailto:<?php echo $email; ?>"> 
            <?php echo $email; ?>
        </a>
    </p>
    

Comments are closed.