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