如何在wordpress中使用简码显示html表单?



我想使用简码显示html表单。这是我的代码:

add_shortcode('sms_order_form', 'sms_order_form_html');
function sms_order_form_html(){?>
'<form>
<div class="tooltip">
0<input type="range" id="range" value="0" min="0" max="100"/>100
<span class="tooltiptext">0</span>
</div>
</form>
<?php } ?>

但这不会打印表单。 但是如果我通过echo 'hello';替换 HTML 表单,它会打印 hello。有没有办法使用短代码显示任何 HTML。

注意:短代码是使用元素放置的。

简码应返回一个字符串:

<?php
add_shortcode( 'sms_order_form', 'sms_order_form_html' );
function sms_order_form_html() {
ob_start();
?>
<form>
<div class="tooltip">
0<input type="range" id="range" value="0" min="0" max="100"/>100
<span class="tooltiptext">0</span>
</div>
</form>
<?php
return ob_get_clean();
}

简码函数需要以字符串的形式返回输出,而不是立即输出 HTML。您可以使用输出缓冲来返回代码,如下所示:

add_shortcode('sms_order_form', 'sms_order_form_html');
function sms_order_form_html() {
ob_start();
?>
<form>
<div class="tooltip">
0<input type="range" id="range" value="0" min="0" max="100"/>100
<span class="tooltiptext">0</span>
</div>
</form>
<?php
return ob_get_clean(); // clear the output buffer, and return as string
}

最新更新