Shortcode wird außerhalb des Loops angezeigt-warum?

  • function unterseiten_anzeigen( $atts ) {
    echo "<ul>";

    wp_list_pages( array(
    'title_li' => '',
    'child_of' => $atts[id],
    'show_date' => 'modified',
    'date_format' => $date_format
    ) );

    echo "</ul>";
    }

    add_shortcode('menue_unterseiten','unterseiten_anzeigen');

    Folgenden Shortcode habe ich geschrieben, er funktioniert auch. Wenn ich im Backend
    [menue_unterseiten id="10500"] eingebe, dann werden die Unterseiten der Parent-Seite mit der id 10500 angezeigt.
    Allerdings erfolgt die Ausgabe immer vor dem Loop, also dem eigentlichen Inhalt, wenn ich diesen Shortcode nach der Überschrift eingebe, erfolgt die Ausgabe im Frontend vor der Überschrift. Egal wo ich den Shortcode eingebe, im Frontend wird die Liste der Unterseiten immer vor dem Inhalt angezeigt.

    Woran könnte das liegen? Hat jemand eine Idee? Vielen Dank.

    • 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

  • Ein Shortcode darf nichts direkt ausgeben, also kein [FONT=Courier New]echo ...[/FONT] sondern ein [FONT=Courier New]return $content;[/FONT] o.ä. am Ende, z.B. so (ungetestet):

Jetzt mitmachen!

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