Zoeken…


Syntaxis

  • add_shortcode ('your_short_code', 'your_function_name');

parameters

parameters Omschrijving en gebruik
$ tag (tekenreeks) (verplicht) Shortcode-tag om te zoeken in berichtinhoud Standaard: Geen
$ func (opvraagbaar) (vereist) Haak om uit te voeren wanneer shortcode wordt gevonden Standaard: Geen

Opmerkingen

BELANGRIJK - Gebruik geen camelCase of HOOFDLETTERS voor uw attributen

U kunt een shortcode met attribuut te genereren Hier

Voorbeelden van shortcodes

WordPress shortcodes werden geïntroduceerd in 2.5

Hier is een voorbeeld van shortcode

[button]

om shortcode direct in het thema te gebruiken, moet je do_shortcode()

 <?php echo do_shortcode('[button]'); ?>

Om de knop aan te passen, kunnen we eenvoudig iets toevoegen zoals:

[button type="twitter"]

Of om het nog beter te maken, kunnen we een omsluitende shortcode gebruiken:

[button type="twitter"]Follow me on Twitter![/button]

Een zelfsluitende shortcode maken

De eenvoudigste shortcode is de zelfsluitende. We gaan een eenvoudige link naar ons Twitter-account maken en deze vervolgens toevoegen in een blogbericht. Alle code gaat in functions.php , die zich bevindt in /wp-content/themes/your-theme/ . Als u er geen hebt, maakt u deze gewoon en plaatst u de code erin.

<?php 
function button_shortcode() {
return '<a href="http://twitter.com/rupomkhondaker" class="twitter-button">Follow me on Twitter!</a>"';
}
add_shortcode('button', 'button_shortcode'); 
?>

Gebruik: [button]

Een zelfsluitende shortcode met parameters maken

Een zelfsluitende shortcode met parameters maken

<?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 kunt u kiezen welke knop u wilt weergeven door het type in uw shortcode te definiëren.

[button type="twitter"]
[button type="rss"]

Een bijgevoegde shortcode maken

bijvoegsel shortcode

Met de bijgevoegde shortcode kunt u inhoud in uw shortcode insluiten, net als BBCode als u dat ooit hebt gebruikt.

<?php
function button_shortcode( $attr, $content = null ) {
return '<a href="http://twitter.com/filipstefansson" class="twitter-button">' . $content . '</a>';
}
add_shortcode('button', 'button_shortcode');
?>

Om deze shortcode te gebruiken, sluit u de tekst in die u als volgt wilt gebruiken:

[button]Follow me on Twitter![/button]

Om deze knop nog beter te maken, kunnen we parameters toevoegen, net zoals in het vorige voorbeeld.

<?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');
?>

Gebruik:

[button account="rupomkhondaker" style="simple"]Follow me on Twitter![/button]

Shortcodes in Widgets

Standaard ondersteunt WordPress geen shortcodes in Sidebar Widgets. Het breidt alleen de shortcodes uit binnen de inhoud van een bericht, pagina of aangepast berichttype. Om ondersteuning voor shortcodes toe te voegen aan zijbalkwidgets, kunt u een plug-in installeren of de onderstaande code gebruiken:

add_filter( 'widget_text', 'shortcode_unautop' );
add_filter( 'widget_text', 'do_shortcode' );

Het is belangrijk dat deze regels in deze volgorde worden toegevoegd. De eerste regel voorkomt dat WordPress regeleindes omzet in alineatags, omdat dit ervoor zorgt dat shortcodes niet werken. De tweede regel is degene die ervoor zorgt dat de shortcodes werken.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow