Php 短代码默认变量don';不出现

Php 短代码默认变量don';不出现,php,wordpress,function,variables,shortcode,Php,Wordpress,Function,Variables,Shortcode,这是我的密码 function myfunction ( $atts, $content = null ){ $atts = extract(shortcode_atts(array( 'limit' => 1, 'order' => 'ASC', 'columns' => '6' ),$atts)); ob_start(); include('php/blogcolumns.php'); $content = ob_get_clean(); return $conten

这是我的密码

function myfunction ( $atts, $content = null ){

$atts = extract(shortcode_atts(array(
'limit' => 1,
'order' => 'ASC',
'columns' => '6'
),$atts));

ob_start(); 
include('php/blogcolumns.php');
$content = ob_get_clean();
return $content;
}
add_shortcode('blogcolumns','myfunction');
问题是,默认变量不会出现,只有在短代码中添加时才会出现。不应该是这样的。 这是短码: [blogcolumns limit=”“order=”“columns=”“]


此代码有什么问题?

不要添加没有值的属性。否则,您将给出一个空字符串的值。所以它不接受默认值

e、 g


您没有提供HTML,但您的构造看起来不正确。这是什么:

$atts = extract(shortcode_atts(array(
    'limit' => 1,
    'order' => 'ASC',
    'columns' => '6'
    ),$atts));
它的作用是创建变量$limit、$order和$columns(extract()就是这样做的),并将$atts设置为整数(extract的返回值)


如果您的HTML正在查找$atts['somekey'],那么它将找不到它。

是的,如果我只添加[blogcolumns]快捷码,它可以与默认变量配合使用。谢谢
[blogcolumns limit="5"]
$atts = extract(shortcode_atts(array(
    'limit' => 1,
    'order' => 'ASC',
    'columns' => '6'
    ),$atts));