WordPress: erster Artikel lang, der Rest gekürzt (2)

Ich habe gestern ein Code-Beispiel genannt, dass es einem ermöglicht in WordPress die Artikel so auszugeben, dass der erste in voller Länge oder als Auszug aufgelistet wird und der Rest entweder als Auszug oder nur als Überschriften. Von drei Leuten kamen Optimierungsvorschläge bzw. Alternativen, die ich hier gerne noch einmal nennen wollte, damit sie nicht untergehen.

Frank hat mich auf seinen Artikel hingewiesen in dem es darum geht Duplikate im WordPress-Loop herauszufiltern. Michael hat eine sehr kurze Alternative vorgestellt:

if(have_posts()):
  $i = 0;
  while (have_posts()) : the_post();
    $i++;
    if($i === 1):
      the_title()
      the_excerpt();
    else:
      the_title();
    endif;
  endwhile;
endif;

Als erstes wird hierbei ein Zähler ($i = 0;) definiert. Und so lange es Beiträge gibt und so lange diese auch aufgelistet werden (while (have_posts()) : the_post();) zählt der Counter hoch ($i++;). Hat der Counter den Wert 1 erreicht (if($i === 1):) dann soll der Artikel als Auszug ausgegeben werden, sonst (else:) sollen nur die Überschriften ausgegeben werden. Kurz und übersichtlich.

Kurz und flexibel

Ralf hat eine ebenfalls kurze, aber etwas flexiblere Alternative genannt:

$counter = 1;
$numFullposts = 3;

if(have_posts()):
  while(have_posts() : the_post()
    if($counter =< $numFullposts):
      the_title();
      the_excerpt();
    else:
        the_title();
    endif;
  $counter++;
  endwhile;
endif;

Am Anfang wird auch hier ein Counter definiert, aber es wird in der zweiten Zeile auch die Anzahl der Artikel definiert, die in voller Länge ausgegeben werden. Anschließend zählt auch hier der Counter bei der Ausgabe der Beiträge hoch und ist der Wert des Zähler kleiner/gleich 3 werden die Artikel in voller Länge ausgegeben sonst werden nur die Überschriften aufgelistet.

Vielen Dank an Frank, Michael und Ralf. Hier zeigt sich noch einmal in aller Deutlichkeit, wie wichtig Kommentare als Teil der Weblogs sind.

Wir arbeiten seit 20 Jahren mit WordPress und bieten diverse Dienst­leistungen rund um das System an. Kontaktiere uns für weitere Informationen oder für ein Angebot.

Verwandte Beiträge:

Ein Kommentar

  1. wie füge ich diesen code ein? es tut mir leid, komme aber nicht so draus!
    ich verwende twenty ten 1.2. muss ich loop.php editieren?

Kommentare sind geschlossen.