只需向数组中添加另一个元素(然后输出):
function btn_shortcode( $atts, $content = null ) {
$a = shortcode_atts( array(
\'class\' => \'button\',
\'href\' => \'#\'
), $atts );
return \'<a class="\' . esc_attr($a[\'class\']) . \'" href="\' . esc_attr($a[\'href\']) . \'">\' . $content . \'</a>\';
}
add_shortcode( \'button\', \'btn_shortcode\' );
//EDIT:
为了添加用户定义的样式,您只需向数组中添加另一个元素:
function btn_shortcode( $atts, $content = null ) {
$a = shortcode_atts( array(
\'class\' => \'button\',
\'href\' => \'#\',
\'style\' => \'\'
), $atts );
return \'<a class="\' . esc_attr($a[\'class\']) . \'" href="\' . esc_attr($a[\'href\']) . \'" style="\' . esc_attr($a[\'style\']) . \'">\' . $content . \'</a>\';
}
add_shortcode( \'button\', \'btn_shortcode\' );
下面是一个用法示例:
[button href="foo" class="btn btn-lg btn-default" style="font-weight:bold; margin-top:50px; background-color: #999"]Learn More[/button]
//EDIT2:
您可以向快捷码添加不同的样式属性,然后将它们全部输出到HTML标记的样式属性中,但这将限制自定义CSS仅限于这些预定义属性,并且您还必须为每个属性都设置一些预定义值,以防用户将其留空。如果其中一些为空,并且您没有预定义的值,那么您可能会得到如下结果-
<a href="#foo" class="button" style="font-weight:; margin-top: 20px; background-color:;"
function btn_shortcode( $atts, $content = null ) {
$a = shortcode_atts( array(
\'class\' => \'button\',
\'href\' => \'#\',
\'background-color\' => \'#999\',
\'font-weight\' => \'normal\',
\'margin-top\' => \'10px\'
), $atts );
return \'<a class="\' . esc_attr($a[\'class\']) . \'" href="\' . esc_attr($a[\'href\']) . \'" style="font-weight:\' . esc_attr($a[\'font-weight\']) . \'; background-color\' . esc_attr($a[\'background-color\']). \'; margin-top:\' . esc_attr($a[\'margin-top\']) . \';">\' . $content . \'</a>\';
}
下面是一个用法示例:
[button href="foo" class="btn btn-lg btn-default" font-weight="bold" margin-top="50px" background-color="#999"]Learn More[/button]