WordPress
Kurzcode mit Attribut
Suche…
Syntax
- add_shortcode ('your_short_code', 'your_function_name');
Parameter
Parameter | Beschreibung und Verwendung |
---|---|
$ tag | (Zeichenfolge) (erforderlich) Shortcode-Tag, das im Post-Inhalt gesucht werden soll Standard: Keine |
$ func | (aufrufbar) (erforderlich) Hook zum Ausführen, wenn Shortcode gefunden wird Standard: Keine |
Bemerkungen
WICHTIG - Verwenden Sie nicht camelCase oder UPPER-CASE für Ihre Attribute
Sie können einen Shortcode mit dem Attribut Here erzeugen
Beispiele für Shortcodes
WordPress-Shortcodes wurden in 2.5 eingeführt
Hier ist ein Beispiel für einen Shortcode
[button]
do_shortcode()
direkt in ein Theme zu verwenden, müssen Sie do_shortcode()
<?php echo do_shortcode('[button]'); ?>
Um die Schaltfläche anzupassen, können Sie einfach Folgendes hinzufügen:
[button type="twitter"]
Oder um es noch besser zu machen, könnten wir einen einschließenden Kurzcode verwenden:
[button type="twitter"]Follow me on Twitter![/button]
Erstellen eines selbstschließenden Shortcodes
Der einfachste Shortcode ist der selbstschließende. Wir werden einen einfachen Link zu unserem Twitter-Account erstellen und ihn dann in einem Blogbeitrag hinzufügen. Der gesamte Code wird in functions.php
/wp-content/themes/your-theme/
, die sich in /wp-content/themes/your-theme/
. Wenn Sie noch keinen haben, erstellen Sie ihn einfach und geben Sie den Code ein.
<?php
function button_shortcode() {
return '<a href="http://twitter.com/rupomkhondaker" class="twitter-button">Follow me on Twitter!</a>"';
}
add_shortcode('button', 'button_shortcode');
?>
Verwendung: [button]
Erstellen eines selbstschließenden Kurzcodes mit Parametern
Erstellen eines selbstschließenden Kurzcodes mit Parametern
<?php
function button_shortcode( $type ) {
extract( shortcode_atts(
array(
'type' => 'value'
), $type ) );
// check what type user entered
switch ($type) {
case 'twitter':
return '<a href="http://twitter.com/rupomkhondaker" class="twitter-button">Follw me on Twitter!</a>';
break;
case 'rss':
return '<a href="http://example.com/rss" class="rss-button">Subscribe to the feed!</a>'
break;
}
}
add_shortcode( 'button', 'button_shortcode' );
?>
Jetzt können Sie auswählen, welche Schaltfläche angezeigt werden soll, indem Sie den Typ Ihres Kurzcodes definieren.
[button type="twitter"]
[button type="rss"]
Erstellen eines umschließenden Kurzcodes
Kurzcode einschließen
Mit dem beiliegenden Shortcode können Sie Inhalte in Ihren Shortcode einbetten, genau wie BBCode, falls Sie das jemals verwendet haben.
<?php
function button_shortcode( $attr, $content = null ) {
return '<a href="http://twitter.com/filipstefansson" class="twitter-button">' . $content . '</a>';
}
add_shortcode('button', 'button_shortcode');
?>
Um diesen Shortcode zu verwenden, binden Sie den zu verwendenden Text folgendermaßen ein:
[button]Follow me on Twitter![/button]
Um diese Schaltfläche noch besser zu machen, können Sie wie im vorherigen Beispiel Parameter hinzufügen.
<?php
function button_shortcode( $atts, $content = null ) {
extract( shortcode_atts( array(
'account' => 'account',
'style' => 'style'
), $atts ) );
return '<a href="http://twitter.com/' . esc_attr($account) . '" class="twitter-button ' . esc_attr($style) . '">' . $content . '</a>';
}
add_shortcode('button', 'button_shortcode');
?>
Verwendungszweck:
[button account="rupomkhondaker" style="simple"]Follow me on Twitter![/button]
Kurzwahlen in Widgets
Standardmäßig unterstützt WordPress keine Shortcodes in Sidebar-Widgets. Es erweitert nur die Kurzwahlen innerhalb des Inhalts eines Beitrags, einer Seite oder eines benutzerdefinierten Beitragstyps. Um Sidebar-Widgets mit Shortcode zu unterstützen, können Sie ein Plugin installieren oder den folgenden Code verwenden:
add_filter( 'widget_text', 'shortcode_unautop' );
add_filter( 'widget_text', 'do_shortcode' );
Es ist wichtig, dass diese Zeilen in dieser Reihenfolge hinzugefügt werden. Die erste Zeile verhindert, dass WordPress Zeilenumbrüche in Absatz-Tags umwandelt, da Shortcodes nicht funktionieren. Die zweite Zeile ist die, in der die Kurzcodes funktionieren.