add_shortcode is not working

时间:2017-06-14 作者:sachin kumar

当我在web服务器上使用此文档时,它运行正常,但当此文件运行以使用WordPress中的插件时,我必须将文件的快捷码放在我要应用该插件效果的页面上。。。。但当我放置短代码时,它只显示该短代码的字符串,而不显示效果。请找到下面的编码文件并提供解决方案。

<?php
function sac_form()
{
echo "<html>";
echo "<head></head>";
echo "<body>";
echo "<form>";
echo "<table>";
echo \'<tr><td>Name</td><td><input type="text" name="Name"></td></tr>\';
echo \'<tr><td>Email</td><td><input type="text" name="Email"></td></tr>\';
echo \'<tr><td>Subject</td><td><input type="text" name="subject"></td></tr>\';
echo \'<tr><td>Message</td><td><textarea rows="4" cols="50"></textarea></td></tr>\';
echo \'<tr><td><input type="submit" name="submit" value="Submit"></td></tr>\';
echo "</table>
</form>
</body>
</html>";
}
add_shortcode( \'short_code\', \'sac_form\' );
?>

1 个回复
SO网友:Johansson

只有在WordPress环境中使用短代码时,才会运行它们。您似乎在WordPress引擎尚未加载的页面中使用了该快捷码。

此外,始终将数据存储在变量中,然后返回值,而不是使用echo:

function sac_form() {
    $data = \'
    <html>
        <head></head>
        <body>
            <form>
                <table>
                    <tr><td>Name</td><td><input type="text" name="Name"></td></tr>
                    <tr><td>Email</td><td><input type="text" name="Email"></td></tr>
                    <tr><td>Subject</td><td><input type="text" name="subject"></td></tr>
                    <tr><td>Message</td><td><textarea rows="4" cols="50"></textarea></td></tr>
                    <tr><td><input type="submit" name="submit" value="Submit"></td></tr>
                </table>
            </form>
        </body>
    </html>\';
    return $data;
}
add_shortcode( \'short_code\', \'sac_form\' );

结束