我在包含电子邮件地址的主题中有一个自定义字段,很高兴发现antispambot()
<p><a href="mailto:<?php antispambot(the_field(\'queries_e-mail\')); ?>"> <?php echo antispambot(the_field(\'queries_e-mail\'));?></a></p>
它看起来很好,并按预期工作(即打开一个撰写邮件窗口),但当我查看代码源时,它似乎没有被编码。
<p><a href="mailto:[email protected]"> [email protected]</a></p>
根据
Codex 默认用法为:
<?php echo antispambot("[email protected]"); ?>
应输出:
john.doe@mysite.com
然而,在我的情况下,编码似乎不起作用。
最合适的回答,由SO网友:birgire 整理而成
我想问题是echo vsreturn,
i、 e.您正在使用的the_field
而不是get_field
.
您试图做的与此类似:
antispambot( echo( \'[email protected]\' ) )
但是
echo
不返回任何内容。
请尝试:
<?php $email = antispambot( get_field( \'queries_e-mail\' ) ); ?>
<p>
<a href="mailto:<?php echo $email; ?>">
<?php echo $email; ?>
</a>
</p>