"add_shortcode" ineinander schachteln

  • Ich verwende add_shortcodes in meiner functions.php, um Shortcodes einsetzen zu können.
    Dabei kommt es aber vor, dass Shortcodes innerhalb von Shortcodes eingesetzt werden und genau das macht mir Probleme.

    Ein Beispiel:

    Jetzt kann es aber vorkommen, dass ich innerhalb dieses Toggles noch folgenden Shortcode umsetzen möchte:

    PHP
    function grauebox($atts, $content="") {
        return '<div class="graue-box">'.$content.'</div>';
    }
    add_shortcode('grauebox', 'grauebox');

    Und genau das geht nicht. Die zweite Funktion hat keinen Effekt, wobei sie für sich alleine natürlich funktioniert.

    Das wäre der Textaufbau:

    [toggle]Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.

    [grauebox]At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. [/grauebox]

    At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.[/toggle]


    Was muss ich beim Verschachteln beachten?

    Einmal editiert, zuletzt von blabla33 (28. Januar 2013 um 10:41)

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Wie schön, dass es eine Dokumentation gibt :)

    Zitat

    If the enclosing shortcode is intended to permit other shortcodes in its output, the handler function can call do_shortcode() recursively:

    PHP
    function caption_shortcode( $atts, $content = null ) {
       return '<span class="caption">' . do_shortcode($content) . '</span>';
    }

    Also in der function toggle statt

    PHP
    '.$content.'


    das hier:

    PHP
    '.do_shortcode($content).'

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!