go41

Anzahl der Worte in the_excerpt ändern

von Joern am 23. Okt. 2008 | Keine Kommentare

Um in einem meiner Blogs die Beitragslänge der Featured Posts bestimmen zu können, hatte ich meist die Funktion the_content_rss benutzt. Dort kann man zum Beispiel die Anzahl der Worte festlegen. Beispiel:

<?php the_content_rss('', TRUE, '', 25); echo "<br />\r\n"; ?>

Nur schneidet das am Ende immer ein Wort durch, was nicht schön aussieht.
Dann habe ich versucht das Problem mit der PHP funktion substr auf get_the_excerpt() anzuwenden, das bringt in etwa ein vergleichbares Ergebnis wenn ich es so aufrufe:

<?php $shortex = substr(get_the_excerpt(), 0, 170);echo $shortex; echo "<br />\r\n"; ?>

Das sieht im Quelltext sogar noch besser aus, nicht so viele white spaces und linefeeds mitten im Text.

Die ultimative Lösung habe ich gerade hier gefunden:
Limit the number of words in excerpt without plugins…

bechster schlägt vor, in die functions.php deines Themes folgenden Code einzufügen:

<?php
function string_limit_words($string, $word_limit)
{
$words = explode(' ', $string, ($word_limit + 1));
if(count($words) > $word_limit)
array_pop($words);
return implode(' ', $words);
}
?>

Wenn im Theme-Verzeichnis keine functions.php ist, dann erstellt man eine mit genau nur dem obigen Inhalt.

Diese Funktion ist somit immer vorhanden (wie ein aktiviertes Plugin), zerlegt den String in einzelne Worte und gibt den String wieder zusammengesetzt mit der im Aufruf gewünschten Zahl von Worten zurück.

Wenn man nun in seinem Theme zum Beispiel in der index.php die Zeile

<?php the_content() ?>

ersetzt durch diesen Code:

<?php $excerpt = get_the_excerpt(); echo string_limit_words($excerpt,35) . " ...<br />\r\n"; ?>

dann erhält man einen Excerpt seines Beitrags mit hier 35 Worten.

Zu sehen auf ezXplain in den Tabbed Feature Posts auf der Startseite. (Diese sind übrigens mit jQuery UI erstellt)

Danke an all die fleißigen Coder…

the_excerpt truncate WP-Snippets provides useful hacks, tips and tutorials to create a better WordPress theme. You can use: setx PATH "%PATH%;C:\\Something\\bin" However, setx will truncate the stored string to 1024 bytes, potentially corrupting the PATH. Answering the question of how many data files you should configure for your tempdb. The answer is NOT one per logical processor core! Ask TOM "V$SESSION_LONGOPS" data in v$session_longops hangs out until those slots are needed for reuse. You should approach v$session_longops with specific sid,serial#'s -- you do not Tags: "v$session_longops", Express Helpline- Get answer of your question fast from real experts.

Autor:

Du findest mich auch auf Google+, Twitter und Facebook!

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.