我想知道下面的场景是否有效。
[column class='container-fluid']
[column class='container']
[column class='row-fluid']
[column class='span4'] One [/column]
[column class='span4'] Two [/column]
[column class='span4'] Three [/column]
[/column]
[/column]
[/column]
短码代码如下:
function get_column($atts,$content = NULL){
extract( shortcode_atts( array(
'class' => '',
), $atts) );
return '<div class="'.strip_tags($class).'">'.do_shortcode($content).'</div>';
}
add_shortcode('column','get_column');
期望输出:
<div class='container-fluid petturn1'>
<div class='container'>
<div class='row-fluid'>
<div class='span4'> One </div>
<div class='span4'> Two </div>
<div class='span4'> Three </div>
</div>
</div>
</div>
实际输出为:
<div class="container-fluid petturn1">
<div class="container"></div>
<div class="row-fluid"></div>
<div class="span4"></div>
One
</div>
<div class="span4"> Two </div>
<div class="span4"> Three </div>
[/column][/column][/column]
我不确定我们是否可以在Wordpress中做相同短代码的这种级别嵌套。谁能找出上面的代码有什么问题吗?
Wordpress允许嵌套相同的短代码吗?
谢谢。
限制:嵌套短代码
短代码解析器正确处理嵌套的短代码宏,只要它们的处理函数支持递归调用do_shortcode()
:
[tag-a]
[tab-b]
[tag-c]
[/tag-b]
[/tag-a]
但是,如果使用短代码宏来包含另一个同名宏,解析器将失败:
[tag-a]
[tag-a]
[/tag-a]
[/tag-a]
查看文档