我尝试制作像
这样的短代码add_shortcode( 'test', 'test' );
function test( $atts, $content = null ) {
$html = '<div>'.do_shortcode( $content ).'</div>';
return $html;
}
我尝试了[test][test]this is test[/test][/test]
之类的东西,但那不起作用。
如何解决这个问题。感谢
答案 0 :(得分:1)
这是短代码解析器的限制。
您可以查看this entry from the Codex on the shortcode API,其中包含:
但是,如果使用短代码宏来解析器将失败 另一个同名的宏:
[tag-a] [tag-a] [/tag-a] [/tag-a]
这是do_shortcode()使用的无上下文正则表达式解析器的限制 - 它非常快但不计算嵌套级别,因此在这些情况下它不能将每个开始标记与其正确的结束标记匹配。