如何在短码中更改属性的名称?

时间:2016-07-27 作者:Darren Bachan

我正在尝试为按钮编写一个短代码,下面是它的外观

/**
 * Button Shortcodes
 */
function btn_shortcode( $atts, $content = null ) {
    $a = shortcode_atts( array(
        \'class\' => \'btn\',
        \'href\' => \'#\',
    ), $atts );

    return \'<a class="\' . esc_attr($a[\'class\']) . \'"\' . \' \' . \'href="\' . esc_attr($a[\'href\']) . \'">\' . $content . \'</a>\';
}
add_shortcode( \'button\', \'btn_shortcode\' );
它是这样工作的[button class="btn btn-primary" href="domain.com"]Learn More[/button] 但是我想更改它,让有人更容易进来修改这些东西,我希望短代码如下所示[button class="btn btn-primary" link="domain.com"]Learn More[/button], 所以我改变了hreflink.

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

function jk_WPSCEX_add_message( $atts )
{
   $output = \'<a href="\' . $atts[\'link\'] . \'">\' . $atts[\'text\'] . \'</a>\';
   return $output;
}
使用上述函数,快捷码以以下形式生成[jk link="http://jaskokoyn.com" text="Like me on Facebook"]

或对于封闭式快捷码:

function jk_WPSCEX_add_message( $atts, $content = null )
{
   $output = \'<a href="\' . $atts[\'link\'] . \'">\' . $content . \'</a>\';
   return $output; 
}
要使用的短代码为[jk link="http://jaskokoyn.com"]Like us on Facebook[/jk]

相关推荐

SHORTCODE_ATTS()中的$ATTS参数是什么?

这个WordPress developers reference page for shortcode_atts() 国家:$atts(array)(必选)用户在shortcode标记中定义的属性。但我不理解这个定义。例如,在WP Frontend Profile 插件:$atts = shortcode_atts( [ \'role\' => \'\', ], $atts ); 据我所知,shortcode\