我想你只是忘了运行短代码[foo a=\'b\']
和[bar a=\'c\']
通过do_shortcode
过滤器:
do_shortcode( \'[foo a=\'b\'] [bar a=\'c\']\' )
的输出
the_content()
通过
do_shortcode
, 因此,您可以将其添加到编辑器中。
运行代码时,我得到以下输出$arguments
转储:
array (size=1)
\'a\' => string \'b\' (length=1)
以及
array (size=1)
\'a\' => string \'c\' (length=1)
所以没有
\'0\' => \'bar\'
在这里分手。
但是您可以从third shortcode回调的参数(我第一次听说它是在this 由@toscho回答)
我刚查过来源如果我们查到do_shortcode_tag
我们将发现的功能:
// self-closing tag
return $m[1] . call_user_func( $shortcode_tags[$tag], $attr, null, $tag ) . $m[6];
在哪里
$tag
是包含shortcode标记的第三个参数。
因此,在您的情况下,您可以将回调更改为:
function foo( $attributes = array(), $content = null, $tag = \'\' ) {
echo $tag; // current shortcode tag
echo \'<pre>\';
var_dump($attributes);
echo \'</pre>\';
}
获取有关当前快捷码标记的信息。