Wordpress - 短代码内的短代码

时间:2014-07-25 12:17:51

标签: wordpress shortcode

我尝试制作像

这样的短代码
add_shortcode( 'test', 'test' );
function test( $atts, $content = null ) {
    $html = '<div>'.do_shortcode( $content ).'</div>';
    return $html;
}

我尝试了[test][test]this is test[/test][/test]之类的东西,但那不起作用。

enter image description here

如何解决这个问题。感谢

1 个答案:

答案 0 :(得分:1)

这是短代码解析器的限制。

您可以查看this entry from the Codex on the shortcode API,其中包含:

  

但是,如果使用短代码宏来解析器将失败   另一个同名的宏:

[tag-a]   
    [tag-a]    
    [/tag-a] 
 [/tag-a]
     

这是do_shortcode()使用的无上下文正则表达式解析器的限制 - 它非常快但不计算嵌套级别,因此在这些情况下它不能将每个开始标记与其正确的结束标记匹配。