快捷代码返回$CONTENT与DO_SHORTCODE($CONTENT)

时间:2013-11-24 作者:Bobby

我想我问题的标题说明了一切。

在创建短代码时,我见过一些人这样做do_shortcode($content) 而不是$content.

有什么区别?

另一件事,假设我有一个短代码[hello]World[/hello]. 不会再回来了do_shortcode($content) 导致do_shortcode(\'World\')?

根据法典,给出的示例如下:,do_shortcode(\'[hello]\')

那么,什么会回来呢do_shortcode($content) 解释(如果是[hello])

如有任何实例或明确解释,将不胜感激。谢谢

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

如果您不知道$content 包含未知的短代码。

实例

Your shortcode

add_shortcode( \'foo\', \'shortcode_foo\' );

function shortcode_foo(  $atts, $content = \'\' )
{
    return \'Foo!\' . do_shortcode( $content );
}
现在,您的用户可能会这样写:

[foo][bar][/foo]
你不知道是什么[bar] 或者它甚至存在。所以你让WordPress根据do_shortcode(). 如果你不这样做,[bar] 不会被解析为短代码,而是按原样显示。

结束