我有时也在想同样的事情——wp是否会在保存时检查并保存一个注册表等
我快速查看了代码,但似乎没有。
然而,全球$shortcode_tags
, wp具有此功能
function get_shortcode_regex() {
global $shortcode_tags;
$tagnames = array_keys($shortcode_tags);
$tagregexp = join( \'|\', array_map(\'preg_quote\', $tagnames) );
// WARNING! Do not change this regex without changing do_shortcode_tag() and strip_shortcodes()
return \'(.?)\\[(\'.$tagregexp.\')\\b(.*?)(?:(\\/))?\\](?:(.+?)\\[\\/\\2\\])?(.?)\';
}
此处用于应用短代码:
$pattern = get_shortcode_regex();
return preg_replace_callback(\'/\'.$pattern.\'/s\', \'do_shortcode_tag\', $content);
我的正则表达式没那么好,但也许你可以用它做点什么?
Alternatively:
然后是暴力方式-对于每个短代码标记,“简单地”检查
\'[\'.$tag
是否在内容中?但是,一些开发人员/老插件会对带有注释或其他自定义标记的内容进行自己的时髦过滤。
因此,您还可以检查wp global$wp_filter
对于$wp_filter[\'the_content\']
; 内容应该是“内容”所要求的功能。
To be clever
您可以在后期保存/更新时自己添加一个操作,检查过滤器和短代码,然后将某些内容存储在后期元数据中。然后,在显示时,您所要做的就是检查post meta。
呼。。。值得吗?