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 This tutorial shows you how to use MySQL DROP COLUMN statement to remove columns from a table. I have text stored in the php variable $text. This text can be 100 or 1000 or 10000 words. As currently implemented, my page extends based on the text, but A lot of bloggers are unknowingly violating this Amazon Associates term of service, which could get them kicked out of the program. It has to do with CWE-120: Buffer Copy without Checking Some prominent vendors and researchers use the term "buffer overrun," but most people use "buffer overflow." Tags: buffer, copy, without, Today I’m going to show you how to gn your blog page like the new Elegant Themes blog using Divi’s Blog Module. The three major gn

Autor:

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

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.