WordPress
Kortkod med attribut
Sök…
Syntax
- add_shortcode ('din_short_code', 'your_function_name');
parametrar
parametrar | Beskrivning och användning |
---|---|
$ tag | (sträng) (obligatoriskt) Kortkodstagg som ska sökas i postinnehåll Standard: Ingen |
$ func | (kallbar) (obligatorisk) Krok att köra när kortkoden hittas Standard: Ingen |
Anmärkningar
VIKTIGT - Använd inte camelCase eller UPPER-CASE för dina attribut
Du kan skapa en kortkod med attribut här
Exempel på kortkoder
WordPress-kortkoder introducerades i 2.5
Här är ett exempel på kortkod
[button]
För att använda kortkod direkt till temat måste du använda do_shortcode()
<?php echo do_shortcode('[button]'); ?>
För att anpassa knappen kan vi helt enkelt lägga till något som:
[button type="twitter"]
Eller för att göra det ännu bättre kan vi använda en bifogad kortkod:
[button type="twitter"]Follow me on Twitter![/button]
Skapa en självstängande kortkod
Den enklaste kortkoden är den självstängande. Vi kommer att skapa en enkel länk till vårt Twitter-konto och sedan lägga till det i ett blogginlägg. All kod går i functions.php
, som finns i /wp-content/themes/your-theme/
. Om du inte har en, skapar du bara den och lägger koden i den.
<?php
function button_shortcode() {
return '<a href="http://twitter.com/rupomkhondaker" class="twitter-button">Follow me on Twitter!</a>"';
}
add_shortcode('button', 'button_shortcode');
?>
Användning: [button]
Skapa en självstängande kortkod med parametrar
Skapa en självstängande kortkod med parametrar
<?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' );
?>
Nu kan du välja vilken knapp som ska visas genom att definiera typ i kortkoden.
[button type="twitter"]
[button type="rss"]
Skapa en bifogande kortkod
bifogar kortkod
Den bifogade kortkoden låter dig bädda in innehåll i din kortkod, precis som BBCode om du någonsin har använt det.
<?php
function button_shortcode( $attr, $content = null ) {
return '<a href="http://twitter.com/filipstefansson" class="twitter-button">' . $content . '</a>';
}
add_shortcode('button', 'button_shortcode');
?>
För att använda den här kortkoden bäddar du in texten som du vill använda så här:
[button]Follow me on Twitter![/button]
För att göra denna knapp ännu bättre kan vi lägga till parametrar precis som vi gjorde i föregående exempel.
<?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');
?>
Användande:
[button account="rupomkhondaker" style="simple"]Follow me on Twitter![/button]
Kortkoder i widgetar
Som standard stöder WordPress inte kortkoder inom Sidfältets widgetar. Den expanderar bara kortkoderna inom innehållet i en post, en sida eller en anpassad posttyp. För att lägga till kortkortsupport till sidofältets widgets kan du installera ett plugin eller använda koden nedan:
add_filter( 'widget_text', 'shortcode_unautop' );
add_filter( 'widget_text', 'do_shortcode' );
Det är viktigt att dessa rader läggs till i denna ordning. Den första raden förhindrar WordPress från att förvandla radbrytningar till stycketaggar, eftersom detta hindrar kortkoder från att fungera. Den andra raden är den som får kortkoderna att fungera.