Letzte Artikel auflisten, aber wie?

Hinweis: Dieser Artikel ist älter als zwei Jahre (letzte Änderung: 1. November 2012) und evtl. nicht mehr aktuell.

In WordPress hat man über Widgets die Möglichkeit die letzten Artikel einer Kategorie aufzulisten, das ist easy und Standard.

Aber was tun, wenn man eine statische Seite als front-page (bzw. home) haben will, in der nach dem eigentlichen Content die Liste der letzten Artikel, z.B. aus der Kategorie News, erscheinen soll? Auch das ist natürlich mit WordPress machbar und auch nicht kompliziert, wenn man weiß wie ;-)

Wir gehen davon aus, dass Ihr Euch schon mit der Template-Struktur von WordPress auseinander gesetzt habt und ebenfalls schon eine front-page.php (bzw. home.php) angelegt habt in der der Content ausgegeben wird.

Um nun, nach dem eigentlichen Loop (um den Content der statischen Seite auszugeben), die Artikel auszugeben braucht Ihr in etwa folgenden Code, den Ihr nach dem vorhandenen <?php endwhile; ?> aber vor dem <?php endif; ?> platziert. Natürlich nur, wenn soweit vorhanden.

...
<?php endwhile; ?>

<div class="news_teaser">
<p>Aktuelle News</p>
<?php $news_query = new WP_Query('category_name=news&posts_per_page=10');
while ( $news_query->have_posts() ) : $news_query->the_post(); ?>
<?php the_excerpt()?>
<?php endwhile; ?>
</div>

<?php endif; ?>
...

Hier eine kurze Erklärung der Zeilen:

  • in Zeile 2 haben wir zur besseren Übersicht den <?php endwhile; ?> aus dem Loop für den Content mit aufgeführt.
  • in Zeile 4 und 5 wird ein öffnender DIV (inkl. class) und die Überschrift platziert.
    <div class="news_teaser">
    <p>Aktuelle News</p>
    
  • in Zeile 6 und 7 wird bestimmt aus welcher Kategorie die Artikel gezogen werden sollen, sofern welche vorhanden sind, und wieviele angezeigt werden sollen. Es wird also ein neuer Loop mit while aufgemacht.
    <?php $news_query = new WP_Query('category_name=news&posts_per_page=10');
    while ( $news_query->have_posts() ) : $news_query->the_post(); ?>
  • in Zeile 8 wird ein Einleser ausgegeben
    <?php the_excerpt()?>
  • in Zeile 9 wird der Loop, der mit while aus Zeile 7 geöffnet wurde, geschlossen
    <?php endwhile; ?>
    
  • und in Zeile 12 steht der endif aus dem eigentlichen Loop für den Content.
    <?php endif; ?>
Empfehle uns: email facebook google plus twitter

Artikel Informationen

  • Erstellt am Donnerstag, 1. November 2012 um 15:26 und abgelegt unter WordPress mit den Tags: ,
  • Kommentare zu diesen Eintrag im Kommentar Feed Feed.
  • Du kannst einen Kommentar hinterlassen. Pingback ist im Augenblick nicht erlaubt.

3
Hinterlasse einen Kommentar

2 Comment threads
1 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
3 Comment authors
  Abonnieren  
neuste älteste beste Bewertung
Benachrichtige mich zu:
ossoft

Leider nicht mehr aktuell. Wenn ich das mit der aktuellen Version ausprobiere, wird das Template nicht mehr aktzeptiert

new WP_Query() ist nicht veraltet. Schau dazu mal in den Codex:
https://codex.wordpress.org/Class_Reference/WP_Query

Super Tipp, das muss ich direkt mal testen. Hab es bisher zwar noch nicht benötigt aber vielleicht für künftige Projekte. Werde mir deine Website mal speichern. Mach weiter so.