嵌套相同的短代码Wordpress


Nesting Same Shortcode Wordpress

我想知道下面的场景是否有效。

[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]

查看文档