Es ist kein neues Thema – keine neue Funktion, aber sie verdient trotzdem etwas mehr Aufmerksamkeit.
Vor einiger Zeit habe ich ein Design mit WordPress umgesetzt, das mir relativ wenig Spielraum für Texte ließ. WordPress bietet von Hause aus die Funktion the_excerpt, die einen Textauszug der Beiträge wiedergibt. Somit war es eine gute Gelegenheit sich etwas genauer mit dieser Funktion zu beschäftigen.
Zugegeben, ich war erstaunt zu sehen, welche Möglichkeiten sich mit diesem “Textauszug” ergeben, und wie flexibel man diesen nutzen kann.
Was ist eigentlich the_excerpt?
Mit the_excerpt gibt WordPress eine Art Anlesetext – oder Auszug – eines Artikels wieder. Hierfür gibt es bei der Erstellung eines Artikels die Möglichkeit, einen optionalen “Auszug” zu erstellen. Tut man dies nicht und lässt das Feld leer, erstellt WordPress automatisch einen Auszug des Artikels – den so genannten Auto-Excerpt.
Wie man den Anlesetext nach persönlichen Bedürfnissen anpassen und sinnvoll nutzen kann, möchte ich mit diesem Beitrag kurz erläutern. Schließlichh bietet er mehr Möglichkeiten, als nur in den Archiven zu verstauben…
1. Textlänge von the_excerpt anpassen
the_excerpt wird von WordPress standardmäßig auf 55 Wörter beschränkt. Wem dies zu viel oder zu wenig ist, der kann mit einer einfachen Funktion die Länge problemlos anpassen. Dafür einfach folgende Zeilen in die functions.php Eures Themes einfügen:
1 2 3 4 | function new_excerpt_length($length) { return 20; } add_filter('excerpt_length', 'new_excerpt_length'); |
Der Wert 20 gibt nun die “neue” Länge von the_excerpt an.
2. Die [...] entfernen / ersetzen
Greift WordPress auf den automatischen Auszug zurück, wird am Ende die berühmte eckige Klammer mit den 3 Punkten [...] als Hinweis für mehr Inhalt gesetzt. Wer nun 5 Punkte haben möchte, oder eben gar nichts, der kann auch hier mit einer kleinen Funktion für Abhilfe sorgen. Wiederum in der functions.php Eures Themes ergänzt Ihr folgende Zeilen:
1 2 3 4 | function new_excerpt_more($excerpt) { return str_replace('[...]', ' => ', $excerpt); } add_filter('wp_trim_excerpt', 'new_excerpt_more'); |
Zur veranschaulichung habe ich die regulären [...] mit dem => ersetzt. Was Ihr hier hinein schreibt, ist natürlich Euch selbst überlassen.
3. Die [...] mit dem Artikel verlinken
Mit dieser Option kann man den “weiter lesen” Link zum Artikel erstellen, der so eigentlich nur verfügbar ist, wenn the_content genutzt wird. Eine tolle Möglichkeit, wenn man nicht zwingend die Titel / Überschriften verlinken möchte. Und so geht´s. Auch hier wieder den Code in die functions.php einfügen:
1 2 3 4 5 | function new_excerpt_more($more) { global $post; return '<a href="'. get_permalink($post->ID) . '">' . ' [...] ' . '</a>'; } add_filter('excerpt_more', 'new_excerpt_more'); |
Wie im Beispiel 2 beschrieben, kann man natürlich die [...] mit eigenem Text wie weiter lesen… ersetzen.
Mit diesen 3 Basics kann man das Aussehen des Auszugs schon prima anpassen. Aber das ist noch nicht alles.
the_excerpt hat einen großen Vorteil gegenüber the_content : Der Text ist unformatiert. Alle HTML-Tags werden von WordPress entfernt, was ihn sehr universell einsetzbar macht. Ein Beispiel: Ich habe in einem Theme das verstaubte META-Tag “description” benutzt, und lasse diesen mit dem Excerpt füllen. Eine simple Funktion, die so aussieht:
1 2 3 4 5 6 7 8 9 10 11 | //Beitragsauszug als META-Beschreibung function meta_description () { $HeadExcerpt = get_the_excerpt(); if (!empty($HeadExcerpt)) { $auszug = htmlspecialchars($HeadExcerpt, ENT_QUOTES); echo (''); } } add_action ('wp_head', 'meta_description'); |
Zur Veranschaulichung; Diese Funktion prüft, ob der Auszug gefüllt ist. Wenn ja, nimmt sie den Inhalt und schreibt ihn das META-Tag. Um sicherzustellen, das ” (Anführungszeichen) entfert werden (diese würden das Tag vorzeitig schließen) ersetzt die Funktion mit htmlspecialchars unerwartete Sonderzeichen.
Nachteil: Ist das optionale Auszugsfeld nicht gefüllt – der Excerpt also leer – dann wird auch kein Tag in den Kopf der Seite geschrieben.
All diese Beispiele sind getestet und funktionieren. ![]()
In Verbindung mit Vorschaubildern (Thumbnails) bietet the_excerpt viele Möglichkeiten der Gestaltung, auch wenn natürlich nicht der volle Umfang von the_content gegeben ist. Die Frage “Excerpt vs. Content” muss sich also jeder selbst stellen.
Nachweise:
Die hier gezeigten Beispiele (1-3) basieren auf dem WordPress Codex the_excerpt.
Viel Spaß beim “Ausprobieren”. Bei Fragen… Fragt!
Wordpres: the_excerpt()-Länge festlegen…
Die WordPress-Funktion the_excerpt() gibt eine Kurzversion des Aritkels wieder. Möchte man in seinem Presseportal oder Artikelverzeichnis nicht auf jeder Seite die Artikel und Beiträge in voller Länge anzeigen (z.B. Startseite, Kategorienübersicht), so…