Unterschiedliche Länge des Excerpts in Abhängigkeit von der Kategorie

6 Dez 2009

Wordpress bietet ja bekanntlich mehrere Optionen, um Textauszüge darzustellen. Für eine automatisierte Darstellung sorgt beispielsweise the_excerpt().

Mit the_excerpt() ist es bisher jedoch nicht möglich  die Länge des Excerpts zu bestimmen. Um diese festzulegen,  muss man folgenden Code in die functions.php des Themeordners kopieren.

// excerpt anpassen
remove_filter('get_the_excerpt', 'wp_trim_excerpt');
add_filter('get_the_excerpt', 'my_custom_excerpt');

function my_custom_excerpt($text) { // Fakes an excerpt if needed
if ( '' == $text ) {
$text = get_the_content('');
$text = apply_filters('the_content', $text);
$text = str_replace(']]>', ']]>', $text);
$text = strip_tags($text);
$excerpt_length = 40;
$words = explode(' ', $text, $excerpt_length + 1);
if (count($words) > $excerpt_length) {
array_pop($words);
array_push($words, '...<a href="'. get_permalink() . '"> weiterlesen »</a>');
$text = implode(' ', $words);
}
}
return $text;
}

Was mir persönlich jedoch fehlte, war die Möglichkeit dies auch von Kategorie zu Kategorie unterschiedlich zu gestalten. Dank einem Artikel auf www.wprecipes.com ist dies nun aber auch Legende.

Einfach folgenden Code in die functions.php des Themes kopieren.

add_filter('excerpt_length', 'my_excerpt_length');
function my_excerpt_length($length) {
if(in_category(14)) {
return 13;
} else {
return 60;
}
}

Lars Autor: Dieser Artikel wurde am 06.Dezember 2009 von Lars veröffentlicht und wurde unter programmierung abgelegt. Lars entwickelt seit 2007 Webseiten auf Basis von Wordpress. Dieser Blog dient ihm als Spielwiese für Wordpress, html5 und css3.

verwandte Artikel

  • Keine ähnlichen Beiträge

2 Kommentare

  1. dein code gibt leider fehler über fehler aus. erst (’]]>’, ‘]]>’

  2. Hallo, ersetze mal bitte alle ’ durch den graden Strich ' (Umschalttaste + Rautetaste). Dann sollte es klappen.

Sag deine Meinung.

Liebe Kommentarspammer - Spart uns die Arbeit.
Keine Keywords oder Domainnamen im Link.

Kommentare werden erst nach der Freigabe sichtbar...