Trouble using antispambot()

时间:2013-11-22 作者:mantis

我在包含电子邮件地址的主题中有一个自定义字段,很高兴发现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]"); ?>
应输出:

&#106;&#111;h&#110;&#46;&#100;&#111;&#101;&#64;mysit&#101;.&#99;&#111;&#109;
然而,在我的情况下,编码似乎不起作用。

1 个回复
最合适的回答,由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>

结束

相关推荐

Shotcode error on functions

您好,我有一个生成错误的短代码。有人能帮忙吗?add_shortcode(\'do-action\', \'do_action_shortcode\'); function do_action_shortcode($atts, $content = \'\') {   ob_start();   do_action($content);   $out = ob_get_contents();   ob_end_clean();   return $