ECHO DO_SHORTCODE只打印短码名称,而不打印其内容

时间:2017-04-11 作者:mrfr

我有以下代码:

<div id="order_form">
    <?php echo do_shortcode(\'[order_form]\'); ?>
</div>
和我的短代码:

<?php

add_shortcode(\'order_form\', \'order_form\');
function order_form(){
    return "hello!!";
}
但这只是打印出来的

[order_form]
为什么会这样?

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

我还不能发表评论,所以我会尽最大努力提供答案,直到我得到足够的代表-

 function add_my_shortcode(){
     $content = "Habba";
     return $content;
 }
 add_shortcode(\'yourShortcodeName\', \'add_my_shortcode\');
我这样做已经很长时间了,从来没有遇到过任何问题-您是否在早期执行的文件中编写了此代码?类似功能。php,还是将其放入模板中?我看不到其他任何东西你的代码可能有问题?

相关推荐

Namespaced shortcode?

我正在改造一个旧的WP站点,该站点有许多自定义的短代码,显然由于代码当前的组织方式,这些短代码在性能方面付出了代价。当然,我可以修复优化不好的代码,使用十几个短代码,并且一天就可以完成,但我想知道如何更好地组织它们。根据WordPress\'documentation, 建议将它们放在插件中并在上初始化init. 我们可以通过这样“命名”它们来减少这个钩子中的负载吗?[com.company shortcode attr=\"attr\" prop=\"prop\"] 有人尝试过这样的解决方案吗