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

如何在wordpress中使用快捷码显示html表单?,wordpress,Wordpress,我想用短代码显示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&

我想用短代码显示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 } ?>
add_shortcode('sms_order_form'、'sms_order_form_html');
函数sms\u order\u form\u html(){?>
'
0100
0
但是这不会打印表单。但是如果我用
echo'hello';
替换HTML表单,它会打印hello。是否有任何方法可以使用短代码显示任何HTML


注意:使用elementor放置短代码。

短代码应返回字符串:

<?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();
}

0100
0

短代码函数需要以字符串形式返回输出,而不是立即输出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
}
add_shortcode('sms_order_form'、'sms_order_form_html');
函数sms\u order\u form\u html(){
ob_start();
?>
0100
0

我只是在elementor中添加了短代码。参考:你做错了,它起作用了:看起来你把代码放错了地方。谢谢,伙计!有一个CSS问题隐藏了表单:(这个简单的问题耗费了我几个小时的时间。你的评论激励我去检查。