我正在尝试递归调用简码。这个想法是在短代码中使用短代码,我尝试爆炸字符串尝试了其他一些逻辑,但没有一个起作用。
你能帮忙吗?
我将在下面分享一个示例。
add_shortcode( 'first', function ( $attr ) {
return 'First ' . $attr['key1'] . ' ' . $attr['key2'];
} );
add_shortcode( 'second', function ( $attr ) {
return 'Second ' . $attr['key1'] . ' ' . $attr['key2'];
} );
add_shortcode( 'third', function ( $attr ) {
return 'Third ' . $attr['key1'];
} );
现在假设字符串是$string = '[first key1="[second key1="abcd" key2="shortcode"]" key2="[third key1="shortcode"]"]';
或者$string = '[first key1="[second key1="abcd" key2="[third key1="shortcode"]"]" key2="[third key1="shortcode"]"]';
现在很可能第一个字符串的输出应该是这样的:'First Second abcd shortcode Third shortcode'
第二个应该是这样的:'First Second abcd Third shortcode Third shortcode'
但我没有得到结果。有人可以帮我创建一个函数,它接受一个字符串并递归检查短代码,然后执行它们(do_shortcode)。