我有一个短代码[table id=table /]
我想做这样的事情<?php echo do_shortcode('[table id="'.$post->post_name.'"/]'); ?>
我希望slug显示为表id。
我做错了什么?
答案 0 :(得分:1)
鉴于您在评论中提到您试图在小部件中使用此短代码 - 小部件默认情况下不会解析短代码。
要使大多数小部件解析短代码(大多数是具有应用widget_text
过滤器的文本字段的),您可以将以下内容添加到主题的functions.php中:
add_filter("widget_text", "do_shortcode");
然后,您可以直接在您的小部件文本中引用此短代码,就像您期望的那样:
[table id=... /]
修改强>
如果您在运行自己的行上的短代码时遇到任何问题,可能是因为它们被Wordpress自动包装在<p></p>
标签中。要阻止这种情况发生,请在上面添加的过滤器之前添加此过滤器:
add_filter("widget_text", "shortcode_unautop");
shortcode_unautop()函数只是阻止短代码被包装在段落标记中,如Wordpress&#39;大多数文本字段中的默认行为。