Wie man einem Shortcode Attribute hinzufügt

Ich lese den Codex:

function btn_shortcode( $atts, $content = null ) { $a = shortcode_atts( array( 'class' => 'button', ), $atts ); return '' . $content . ''; } add_shortcode( 'button', 'btn_shortcode' ); 

In der [button class="btn btn-lg btn-default"]Learn More[/button] ich [button class="btn btn-lg btn-default"]Learn More[/button] und es gibt aus, wie ich es will, aber ich möchte meinen shortcode schreiben, um dies zu tun:

 [button href="foo" class="btn btn-lg btn-default"]Learn More[/button] 

Wie würde ich meine function ändern, um dies zu ermöglichen?

Solutions Collecting From Web of "Wie man einem Shortcode Attribute hinzufügt"

Sie müssen lediglich ein anderes Element zum Array hinzufügen (und es dann ausgeben):

 function btn_shortcode( $atts, $content = null ) { $a = shortcode_atts( array( 'class' => 'button', 'href' => '#' ), $atts ); return '' . $content . ''; } add_shortcode( 'button', 'btn_shortcode' ); 

//BEARBEITEN:

Um benutzerdefinierte Stile hinzuzufügen, müssen Sie dem Array nur noch ein weiteres Element hinzufügen:

 function btn_shortcode( $atts, $content = null ) { $a = shortcode_atts( array( 'class' => 'button', 'href' => '#', 'style' => '' ), $atts ); return '' . $content . ''; } add_shortcode( 'button', 'btn_shortcode' ); 

Hier ist ein Anwendungsbeispiel:

[button href="foo" class="btn btn-lg btn-default" style="font-weight:bold; margin-top:50px; background-color: #999"]Learn More[/button]

// EDIT2:

Sie können dem Shortcode verschiedene Stilattribute hinzufügen und sie dann alle innerhalb des Stilattributs des HTML-Tags ausgeben. Dies beschränkt jedoch das benutzerdefinierte CSS nur auf diese vordefinierten Attribute und Sie müssen auch einige vordefinierte Werte für jeden von ihnen haben Benutzer lässt sie leer. Wenn einige von ihnen leer sind und Sie keine vordefinierten Werte haben, könnten Sie so etwas haben –

 function btn_shortcode( $atts, $content = null ) { $a = shortcode_atts( array( 'class' => 'button', 'href' => '#', 'background-color' => '#999', 'font-weight' => 'normal', 'margin-top' => '10px' ), $atts ); return '' . $content . ''; } 

Hier ist ein Anwendungsbeispiel:

[button href="foo" class="btn btn-lg btn-default" font-weight="bold" margin-top="50px" background-color="#999"]Learn More[/button]