permalink

7

the_excerpt() anpassen

Die Funktion the_excerpt() hat leider keine Parameter – gerade auf Übersichtsseiten wäre es von Vorteil, wenn man beispielsweise die Länge des Auszugs beeinflussen kann oder wenn man das Kürzel “[...]” abändern könnte.

Seit WordPress 2.9 gibt es hier Abhilfe, die man über die functions.php Datei eines Themes nutzen kann:

Änderung der Zeichenlänge des Auszugs:

function new_excerpt_length($length) {
	return 20;
}
add_filter('excerpt_length', 'new_excerpt_length');

Dabei steht die 20 für die Anzahl der Zeichen. Die Funktion sorgt schon automatisch dafür, dass ganze Wörter nicht getrennt werden.

Änderung des Trennzeichens “[...]“:

function new_excerpt_more($more) {
	return '[.....]';
}
add_filter('excerpt_more', 'new_excerpt_more');

Im Grunde wieder dasgleiche wie bei der Zeichenlänge: Im obigen Fall wird “[.....]” ausgegeben. Wenn man beispielsweise nur drei Punkte haben möchte, gibt man zwischen den Hochkommata einfach … an.

Wichtig: Die oben genannten Funktionen stehen erst ab WordPress Version 2.9 und neuer zur Verfügung. Der Einbau über die functions.php sorgt dafür, dass man keine weiteren Plugins benötigt, außerdem übersteht die Anpassung so auch jedes WordPress-Upgrade. Falls das Theme geändert wird, muss diese Anpassung natürlich wieder erneut in der functions.php im Theme-Ordner vorgenommen werden.

Nachtrag: Hier noch der functions.php-Code, um zusätzlich zum Trennzeichen auch noch einen mehr-Link erscheinen zu lassen:

function new_excerpt_more($more) {
 return '... <a href="' . get_permalink($post->ID) . '">mehr</a>';
}
add_filter('excerpt_more', 'new_excerpt_more');

Statt “mehr” kann man natürlich auch ein beliebiges anderes Wort verwenden.

Autor: Thomas Langel

Thomas beschäftigt sich schon seit vielen Jahren mit der Blog-Software WordPress. Dabei konnte er ein umfassendes Wissen aufbauen und kennt sich sowohl mit dem Backend als auch mit dem Frontend und den vielen Erweiterungsmöglichkeiten aus. Von Beruf ist Thomas Projektmanager für Internationales Online-Marketing beim Versandhandelsunternehmen bonprix. Er lebt und arbeitet in Hamburg.

7 Kommentare

  1. Pingback: Tweets die the_excerpt() anpassen - Beitrag - Wordpress Magazin erwähnt -- Topsy.com

  2. Danke für die beiden Tipps zum Thema. Den ersten Punkt hatte ich bereits in meine Webseite eingebaut. Der 2. Tipp war mir neu. Ich habe diesen nun ebenfalls integriert.
    @René: Kann sein, diese Variante ist aber Theme unabhängig und muss nur in die functins.php eingebaut werden. Und wo steht dort der 2. Tipp in deiner Lösung?

  3. Pingback: Template Tag the_excerpt() verlinken » Artikel, Zeilen, Eures, Themes, Wort, Leerzeichen » Gruening.me spezialisiert sich auf Rezensionen und bloggt über alles mögliche.

  4. Gibt es denn eine gescheite Möglichkeit, die Ausgabe genau am Ende des ersten Absatzes zu trennen? Ich frage deshalb: Ich würde gern auf Einzelbeiträgen bei den Metatags den ersten Absatz als description ausgeben. Wie könnte ich das mit the_content machen und wie mit the_excerpt? Bei letzterer Funktion habe ich gemerkt, dass mir natürlich der More-Tag in der description angezeigt wird. Das will ich natürlich nicht. Nur wie kriege ich das weg? ^^

  5. Wenn du in die meta-description den gleichen Text wie im Artikel schreiben willst, könntest die meta-description auch gleich ganz weglassen – diese sollte sich vom Artikel-Text unterscheiden, wenn du sie für Suchmaschinen interessant machen willst.

    Die Länge der description sollte bei nicht mehr als 200 Zeichen liegen (mehr wird bei bspw. Google ja nicht ausgegeben), von daher kannst auch wieder mit der Beschreibung (the_excerpt) oben arbeiten.

    Immer den ersten Absatz zu nehmen, würde bedeuten, dass deine Artikel immer mit einem Absatz beginnen (in HTML also mit … umschlossen sind). Ist das so? Dann könntest du dir etwas mit der explode-Funktion von PHP basteln und die Daten (-Absätze) in ein Array schreiben und dann den ersten Key im Array als meta-description ausgeben.

Hinterlasse eine Antwort

Pflichtfelder sind mit * markiert.

*