Neueste Blogartikel anzeigen, kürzen und mit … versehen

Die neuesten Blogartikel können entweder im Adminbereich über Design/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 der Blogartikel auf eine bestimmte Länge, ist zweiteres notwendig. Der Template Tag zur Anzeige der neuesten Blogartikel heißt wp_get_archives(), also der gleiche Template Tag, der für die Anzeige der anderen Archive ebenfalls zuständig ist.

Mit den entsprechenden Parametern kann der wp_get_archives() Template Tag 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 Blogartikel benötigen wir den Parameter type=postbypost. Weiter brauchen wir noch den Parameter limit, um die Zahl der gezeigten Blogartikel zu bestimmen, limit=15 zeigt zum Bespiel die letzten 15 Blogartikel an.

Etwas aufwendiger ist es, die Länge der Titel der Blogartikel zu kürzen und am Ende mit einem “…” zu versehen. 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 = 34;
  $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 in der dritten Zeile $length=34; welcher die Zeichenlänge der Blogartikel Titel 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 Blogartikel 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 Blogartikel, dem Limit von 30 Blogartikel 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?

Kategorie: Wordpress PHP
Ähnliche Beiträge:
Einen Kommentar hinterlassen

Bitte beachtet die Datenschutzinweise. Kommentare mit Keywords als Name sowie Werbung für gewerbliche Webseiten wird als Spam behandelt und editiert oder gelöscht!

Kommentare abonnieren ohne selbst einen Kommentar abzugeben:

Webdesign Blog durchsuchen

Feed per eMail abonnieren: