php – 是否可以嵌套相同短代码的wordpress短代码?
发布时间:2020-12-13 17:14:07 所属栏目:PHP教程 来源:网络整理
导读:我知道如果使用do_shortcode包装器就可以嵌套短代码,但是,codex声明: “但是,如果使用短代码宏来封装另一个同名的宏,解析器将会失败:” 有没有解决的办法? 例如,如果我有一个短代码来制作一个div,例如: [div]some content in a div[/div] 我希望能够使用
我知道如果使用do_shortcode包装器就可以嵌套短代码,但是,codex声明:
“但是,如果使用短代码宏来封装另一个同名的宏,解析器将会失败:” 有没有解决的办法? 例如,如果我有一个短代码来制作一个div,例如: [div]some content in a div[/div] 我希望能够使用: [div] [div]a nested div[/div] [/div] 但是这将使用标准的do_shortcode包装器失败. 我的临时解决方法是复制短名称,其中_parent附加到名称,但我只能嵌套1级深,除非我创建了div_parent1,div_parent2等… 解决方法
如果您正在编写短代码,那么有一个简单的解决方案.您可以编写几个调用相同功能的短代码.我有创建html块的短代码,例如div,并且有几个像div,block1,block2这样的名字.
add_shortcode('div','devondev_block'); add_shortcode('block','devondev_block'); add_shortcode('block2','devondev_block'); 它们都调用相同的功能.只要您记得使用不同的短代码,它们就可以嵌套. WordPress短代码支持只会尝试使用正则表达式进行解析.可以使用正则表达式,有限状态机和堆栈的混合来进行这种解析.这种方法可以处理嵌套,并且速度非常快,特别是在短代码很少的情况下.每次遇到这个我都试着尝试一下. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |