Hier folgt ein weiterer WordPress-Artikel, damit es nachher nicht heißt perun.net würde sich in ein Kindle-Weblog verwandeln. 🙂

Worum geht es hier? Bei einer WordPress-Installation wurde gewünscht das in der Sidebar die letzten zwei Artikel einer bestimmten Kategorie aufgelistet werden. An sich ist das kein Problem, da WordPress für so etwas schon Lösungen bietet und zwar in Form von vorgefertigter Widgets.

WordPress-Widgets: Letzte Artikel und RSS

Das Widget Letzte Artikel wäre eine Möglichkeit, allerdings kann man bei diesem Widget keine Kategorie auswählen sondern lediglich angeben wie viele Artikel aufgelistet werden.

Die zweite Lösung wäre ein RSS-Widget. Man nimmt einfach den Feed der jeweiligen Kategorie, bei der WordPress-Kategorie in diesem Weblog wäre dies https://www.perun.net/kategorie/wordpress/feed/ und fügt ihn in das Widget als Quelle ein. Anschließend erscheint so etwas in der Sidebar bzw. dort wo der Widget ausgegeben wird:

WordPress: RSS-Widget in der Sidebar

RSS-Widget in der Sidebar

Das Problem an dieser Ausgabe ist, dass man nur beschränkt Einfluss auf die auszugebenden Elemente hat. Klar, man kann mit CSS einiges erreichen: man kann unter anderem mit .rsswidget {display: none;} die Widget-Überschrift samt dem Icon ausblenden und wie üblich die Elemente stylen. Aber wenn man zum Beispiel möchte, dass das Datum am Ende erscheint dann muss auf eine andere Lösung zurückgreifen.

Extra-Loop in der Sidebar

Im Weblog von Michael Preuß fand ich eine einfache Lösung, wie man ein extra Loop in der Sidebar einbindet. Hier der Code von Michael:

<?php
$myQuery = new WP_Query('showposts=5&cat=1');
while ($myQuery->have_posts()) : $myQuery->the_post();
?>

Hier kommt dein Code...

<?php endwhile; ?>
wp_reset_query();

In meinem Fall sah das ganze dann so aus:

<?php
$myQuery = new WP_Query('showposts=2&cat=3');
while ($myQuery->have_posts()) : $myQuery->the_post();
?>

<h4><?php the_date(); ?><br /><?php the_title(); ?></h4>
<p><?php the_excerpt(); ?></p>
<p class="mehr"><a href="<?php the_permalink() ?>">Mehr</a></p>

<?php endwhile; ?>
wp_reset_query();

Durch die Einbindung des Extra-Loops hat man auch den Zugriff auf die ganzen Funktionen und Template-Tags, die innerhalb eines Loops funktionieren und man kann diese je nach Bedarf mit passenden HTML-Attributen und -Tags und bestücken.

Divi: Premium-Theme für WordPress
Werbung

Geschrieben von Vladimir

Vladimir Simović, arbeitet seit 2000 mit HTML & CSS und seit Januar 2004 mit WordPress. Im Laufe der Jahre hat er diverse Fachbücher und Fachartikel publiziert.

  1. Hi Perun,

    der Beitrag stammt noch aus einer Zeit, wo ich noch nicht den Plan wie heute hatte.
    Man sollte nach endwhile; wp_reset_query(); einfügen, damit dieses Query nicht noch weitere Queries (zB. in der Sidebar) beeinflusst.

  2. Wordpress Blog on: WordPress: Neueste Artikel bzw. Loop in der Sidebar | MiloRiano: Computers news, tips, guides... Dienstag, 07. Juni 2011 am 20:01

    […] Read more: WordPress Blog on: WordPress: Neueste Artikel bzw. Loop in der Sidebar […]

  3. Kann man das auch einfach in ein Textwidget einfügen oder gibts ein Plugin für RSS Code in der Sidebar?

  4. Habe es bisher nicht ausprobiert, welcher Code muss nun als Textwidget in die Sidebar?

  5. […] ich über dieses Thema schon geschrieben habe, werde ich mich daher hier kurz fassen … ok, ich versuche es. Worum geht es? Nehmen wir mal […]

  6. […] Weg wäre, direkt im Quellcode Änderungen vorzunehmen. Wie dies möglich ist, kann bei z.B. bei Perun oder Roman Harcke nachgelesen werden. Einstellungen des Category Posts […]

  7. […] Ein Weg wäre, direkt im Quellcode Änderungen vorzunehmen. Wie dies möglich ist, kann z.B. bei Perun oder Roman Harcke nachgelesen […]

Kommentare sind geschlossen.