联系人表单7快捷代码显示在表单标签之外

时间:2019-09-12 作者:kadsyy

我已经设法在我的函数中做了一个测试短代码。php,它确实显示在我的联系人7表单上。奇怪的是,它显示在表单标记之外。

这是我的短代码

function cf7_shortcode()
{ ?>
<span>test shortcode</span>
<?php }

add_shortcode(\'cf7_shortcode\', \'cf7_shortcode\');
此外,我还添加了另一行代码,以使短代码能够在联系人表单模板中工作

add_filter(\'wpcf7_form_elements\', \'do_shortcode\');
这是我的表单模板

<label> Nama
[text* nama] </label>

<label> Emel
[email* emel] </label>

<label> No. Telefon
[tel* telefon] </label>

<label> Mesej
[textarea mesej] </label>
<br>
[cf7_shortcode]
[submit "Hantar"]
这就是所发生的

form code

enter image description here

我在互联网上搜索了人们是如何做的,也搜索了我是如何做的,除了我的shorcode在表单标签之外,而其他人没有。我怎样才能解决这个问题?

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

这是因为您的短代码响应输出,而不是返回输出&mdash;短代码不应回显输出,但return it&mdash;除非在某些情况下像输出中的复杂HTML标记一样,需要使用输出缓冲。

因此,您的代码应该如下所示:

function cf7_shortcode() {
    return \'<span>test shortcode</span>\';
}
add_shortcode( \'cf7_shortcode\', \'cf7_shortcode\' );

相关推荐