如何在Wordpress中查找来自自定义数据库表的字段中是否使用了有效的短代码

如何在Wordpress中查找来自自定义数据库表的字段中是否使用了有效的短代码,wordpress,shortcode,Wordpress,Shortcode,这是我的问题:我已经创建了一个自定义插件,用户可以在其中创建一个Lightbox和样式,并在其中放置一些内容 在内容中,用户可以输入任何类型的文本、HTML或有效/注册的Wordpress短代码,单击“保存”时,所有内容都存储到自定义数据库表中。在这之前一切都很顺利 我可以显示lightbox div中的所有内容。 为此,我使用了简单的代码: <div id="lightbox-content"><?php echo $ary['lightbox_contents']; ?&g

这是我的问题:我已经创建了一个自定义插件,用户可以在其中创建一个Lightbox和样式,并在其中放置一些内容

在内容中,用户可以输入任何类型的文本、HTML或有效/注册的Wordpress短代码,单击“保存”时,所有内容都存储到自定义数据库表中。在这之前一切都很顺利

我可以显示lightbox div中的所有内容。 为此,我使用了简单的代码:

<div id="lightbox-content"><?php echo $ary['lightbox_contents']; ?></div>

其中,$ary是一个数组,包含来自数据库表的特定lightbox行数据

但是,当使用Wordpress短代码/(s)(已注册/有效)时,短代码将按原样显示,不进行处理。它打印的是[gallery],而不是应该为此短代码打印的内容

我知道一种使用do_shortcode方法处理我知道其名称的短代码的方法。但对于lightbox内容,我不知道用户将使用哪个短代码以及参数(如果有的话)

如何使用上述场景打印快捷码的内容?
任何帮助或提示都将不胜感激。

您只需调用
do\u shortcode
即可查看值。它将运行任何短代码,如果它找到一些,不会影响其余的内容

echo do_shortcode( $ary['lightbox_contents'] );

对不起,伙计。!这对我不起作用。如果我使用上面的代码,它不会打印任何内容。奇怪的是,我只是尝试了一下,然后
do\u shortcode
为我输出了短码和短码周围字符串中的内容。。。你能在上面添加你的
$arr['lightbox\u contents']
打印吗?也许内容中有什么东西弄乱了事情。你的解决方案似乎是正确的。但我认为我的插件的顺序(顺序)有一些问题。我只是把直接的短码替换成$ary['lightbox\u conents',它仍然没有打印任何内容。我可以在文章和页面中使用相同的短代码。我想我应该在所有插件初始化后执行do_shortcode。这很奇怪,因为我肯定我以前在插件中使用过
do_shortcode
。也许它被过滤了,然后在某处输出。。