简码默认变量不出现
Shortcode default variables don't appear
这是我的代码
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=""]
这段代码有什么问题?
不要添加没有值的属性。否则,您将给出一个空字符串的值。所以它不取默认值。
例如
[blogcolumns limit="3" columns="3"]
或
[blogcolumns limit="5"]
您没有提供 HTML,但您的构造看起来不正确。这是什么:
$atts = extract(shortcode_atts(array(
'limit' => 1,
'order' => 'ASC',
'columns' => '6'
),$atts));
是创建变量 $limit、$order 和 $columns(这就是 extract() 所做的),并将 $atts 设置为整数(extract 中的 return)。
如果您的 HTML 正在寻找 $atts['somekey'],那么它不会找到它。
这是我的代码
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=""]
这段代码有什么问题?
不要添加没有值的属性。否则,您将给出一个空字符串的值。所以它不取默认值。
例如
[blogcolumns limit="3" columns="3"]
或
[blogcolumns limit="5"]
您没有提供 HTML,但您的构造看起来不正确。这是什么:
$atts = extract(shortcode_atts(array(
'limit' => 1,
'order' => 'ASC',
'columns' => '6'
),$atts));
是创建变量 $limit、$order 和 $columns(这就是 extract() 所做的),并将 $atts 设置为整数(extract 中的 return)。
如果您的 HTML 正在寻找 $atts['somekey'],那么它不会找到它。