Michael Oeser - Fotografie, Film, Webdesign - Logo

WordPress Adventskalender Tür 4 – Zwei wichtige the_excerpt Tricks für Tesxtauszüge

Die WordPress Funktion the_excerpt() gibt standardmäßig einen unformatierten Textauszug von 55 Wörtern aus und setzt ein […] ans Ende, das – wider Erwarten vieler User – mitnichten ein klickbarer Link ist. Der heutige kleine Trick zeigt, wie man das ändern kann.

Jeder WordPress Nutzer kennt diese Funktion entweder, weil er sich bereits intensiver mit der Marterie auseinandergesetzt hat, oder zumindest weil er ihr bereits unwissentlich begegnet ist. Die Funktion ist ja auch sehr praktisch, weil sie immer gleich lange Textauszüge (z.B. für Übersichtsseiten bzw. Kategorie Archive) erstellt. Manchmal können die regulären 55 Wörter aber zu lang oder zu kurz sein und außerdem will man vielleicht eine klickbares „Weiterlesen…“ am Ende des Auszug ausgeben. So funktioniert´s.

Folgendes einfach mal wieder in die functions.php des aktiven Themes und rubbeldiekatz fertig ist die neue Auszugslänge von (in diesem Fall) 20 Wörtern.

add_filter('excerpt_length', 'new_excerpt_length');
function new_excerpt_length($length) {
	return 20; // Anzahl der Wörter beliebig anpassen
}

Nun hat jeder Auszug 20 Wörter, aber wenn das nur für die Homepage gelten soll, was dann? Auch das lässt sich einfach umsetzen. Dazu erweitern wir die eben gezeigte Funktion ein Bisschen.

add_filter('excerpt_length', 'new_excerpt_length');
function new_excerpt_length($length) {
    if(is_home()) {
        return 20; // 20 Wörter im Auszug auf der Homepage
	} else {
        return 50; // 50 Wörter im Auszug überall sonst
    }
}

Das Ganze Spielchen lässt sich natürlich noch fast grenzenlos weiter treiben.

Nun brauchen wir nur noch eine klickbaren „Weiterlesen…“ Link. Also auch ab in die functions.php mit diesem Schnipsel.

add_filter('get_the_excerpt', 'trim_excerpt');
function trim_excerpt($text) {
    return str_replace(' [...]', ' Weiterlesen...', $text);
}

Das ist vielleicht nicht der neuste Trick, aber da ich immer wieder genau darauf angesprochen werde, fand ich ihn einen Adventskalendereintrag wert.


Quelle: Eigene Schnipselsammlung