Kurz gesagt: Der automatische Auszug (the_excerpt() bzw. der Block „Auszug“) entfernt absichtlich alle HTML-Tags, also auch Bilder und Links, und kürzt auf 55 Wörter. Willst du ein Bild in der Übersicht, nutze das Beitragsbild und zeig es im Template mit dem Block „Beitragsbild“ an. Willst du formatierten Text mit Links, zeig den ganzen Inhalt bis zum „Weiterlesen“-Block statt des Auszugs an.
Warum der Auszug nur reinen Text zeigt
Hast du keinen eigenen Textauszug eingegeben, erzeugt WordPress ihn aus dem Beitrag: Es entfernt Shortcodes, Blöcke und HTML, kürzt auf 55 Wörter und hängt „[…]“ an. So passen Auszüge gleichmäßig in jedes Layout und kein halb abgeschnittenes HTML zerstört die Seite. Einen manuellen Auszug, den du in der Seitenleiste des Editors unter „Textauszug“ einträgst, gibt der Block „Auszug“ ebenfalls als reinen Text aus. In klassischen Themes mit the_excerpt() darf ein manueller Auszug dagegen einfache HTML-Tags wie Links enthalten.
Lösung 1: Beitragsbild verwenden (empfohlen)
- Setze in jedem Beitrag rechts in den Einstellungen ein Beitragsbild.
- In Block-Themes: Öffne Design → Editor → Templates → „Archiv“ bzw. „Blog-Startseite“ und füge im Abfrage-Loop den Block „Beitragsbild“ ein, verlinkt auf den Beitrag.
- In klassischen Themes zeigen die meisten Themes Beitragsbilder in Übersichten automatisch an oder bieten eine Option im Customizer.
Das Beitragsbild wird außerdem von sozialen Netzwerken als Vorschaubild verwendet, du profitierst also doppelt.
Lösung 2: Inhalt bis „Weiterlesen“ anzeigen
Soll der Anfang eines Beitrags formatiert, mit Bildern und Links erscheinen, setzt du im Editor an der gewünschten Stelle den Block „Weiterlesen“ (früher „More-Tag“). Im Template ersetzt du dann den Auszug durch den Inhalt:
- Block-Theme: Im Abfrage-Loop den Block „Auszug“ entfernen und stattdessen „Inhalt“ einfügen. Auf Übersichtsseiten zeigt WordPress dann alles bis zum „Weiterlesen“-Block.
- Klassisches Theme: Viele Themes haben im Customizer eine Option „Vollständigen Beitrag“ oder „Auszug“ anzeigen. Sonst im Child-Theme
the_excerpt()durchthe_content( 'Weiterlesen' )ersetzen.
Länge und „Weiterlesen“-Text anpassen
Im Block „Auszug“ stellst du die Wortzahl und einen Link „Weiterlesen“ direkt in der Seitenleiste ein. In klassischen Themes geht es per Code im Child-Theme oder einem eigenen Plugin:
// Auszug auf 30 Wörter kürzen
add_filter( 'excerpt_length', function () {
return 30;
} );
// „[…]“ durch einen Link ersetzen
add_filter( 'excerpt_more', function () {
return ' <a class="weiterlesen" href="' . esc_url( get_permalink() ) . '">Weiterlesen</a>';
} );
Für Fortgeschrittene: Auszug oder Inhalt je Beitrag wählen
In klassischen Themes kannst du gezielt steuern, wann ein manueller Auszug mit HTML und wann der automatische Auszug erscheint. Dieses Beispiel zeigt Beiträge mit manuellem Auszug unverändert an und lässt für alle anderen den Anfang des Inhalts bis zum „Weiterlesen“-Block erscheinen, jeweils mit Bildern und Links:
// Im Template des Child-Themes statt the_excerpt():
if ( has_excerpt() ) {
the_excerpt(); // manueller Auszug, HTML bleibt erhalten
} else {
the_content( 'Weiterlesen' ); // Inhalt bis zum „Weiterlesen“-Block
}
Eine automatische Kürzung auf eine feste Wortzahl, die HTML erhält, bietet WordPress nicht. Dafür brauchst du eine eigene Funktion, die abgeschnittene Tags sauber schließt, oder ein spezialisiertes Plugin. Weitere Grundlagen erklärt WordPress-Theme wählen und anpassen, zu Beitragslisten siehe Beiträge einer Kategorie anzeigen.
Frage dazu? Frag im Forum „Themes & Design“: Zum WPDE-Forum
Häufige Fragen
Wo gebe ich einen eigenen Auszug ein?
Im Block-Editor in der Seitenleiste rechts unter „Beitrag“ beim Punkt „Textauszug“. Er wird bevorzugt vor dem automatischen Auszug verwendet und oft auch als Meta-Beschreibung.
Warum zeigt meine Startseite ganze Beiträge statt Auszüge?
Dein Template nutzt den Inhalt statt des Auszugs, oder im Beitrag fehlt der „Weiterlesen“-Block. Tausche im Template „Inhalt“ gegen „Auszug“ oder setze den Block.