Neueste Beiträge anzeigen, kürzen und mit … versehen
Die neuesten Beiträge (siehe rechts) können entweder im Adminbereich über Darstellung/Widgets angezeigt werden, oder manuell per Eintrag in der sidebar.php im entsprechenden Theme. Um mehr Funktionen als den angebotenen Standard zu erhalten, wie zum Beispiel die Kürzung der Titel auf eine bestimmte Länge, ist zweiteres notwendig. Die Funktion zur Anzeige der neuesten Beiträge heißt wp_get_archives(), also die gleiche Funktion, die für die Anzeige der anderen Archive ebenfalls zuständig ist.
Mit den entsprechenden Parametern kann die wp_get_archives() nach Belieben angepasst werden. So ist beispielsweise der Parameter type dafür zuständig, welches Archiv angezeigt wird. type=monthly zeigt das monatliche Archiv, type=weekly ein wöchentliches Archiv und type=daily das tägliche Archiv. Für die neuesten Beiträge benötigen wir den Parameter type=postbypost. Weiter brauchen wir noch den Parameter limit, um die Zahl der gezeigten Beiträge zu bestimmen, limit=15 zeigt zum Bespiel die letzten 15 Beiträge an.
Etwas aufwendiger ist es, die Länge der Beitragstitel zu kürzen und am Ende mit einem “…” zu versehen. Vielen Dank an dieser Stelle an User Spickzettel aus dem WordPress Deutschland Forum. Im entsprechenden Theme befindet sich die Datei functions.php. Diese muss nun als erstes um folgenden Code ergänzt werden:
function get_short_title ($title) {
$echo = false;
$length = 30;
$dots = '...';
if (strlen($title) == 0) return;
if (strlen($title)>$length) {
$title = substr(trim($title), 0, $length-3);
if (strrpos(trim($title), " ")>0) {
$title = substr($title, 0, strrpos(trim($title), " "));
}
$title=$title . $dots;
}
if ($echo)
echo $title;
else
return $title;
}
Wichtig ist hier der Eintrag $length=30; welcher die Zeichenlänge der Beiträge regelt und im Individualfall angepasst werden muss. Die functions.php nun speichern und hochladen.
Als nächstes ist dann die sidebar.php dran. Diese benötigt folgenden Code zur Aktivierung der letzten Beiträge mit den gekürzten Titeln:
<?php add_filter(’the_title’,'get_short_title’,7);
wp_get_archives(’type=postbypost&limit=30&format=html’);
remove_filter(’the_title’,'get_short_title’,7); ?>
Als erstes wird damit der Filter aus der functions.php hinzugefügt, der die Länge der Titel entsprechend kürzt (die 7 wird für die korrekte Anzeige der Umlaute benötigt).
In der zweiten Zeile sprechen wir die Anzeige des Archivs mit den Parametern der neuesten Beiträge, dem Limit von 30 Beiträgen und dem html Format an.
Als letztes muss der Filter aus der functions.php wieder entfernt werden. Wird dies nicht gemacht, werden alle Titel entsprechend gekürzt.
Hochspielen, fertig. Wie siehts aus? Siehe rechte Seite.
Trackback