it-swarm.com.de

Kann WordPress seinen eigenen RSS-Feed lesen?

Ich verwende eine statische Startseite für mein Blog, zu der ich einen Widget-Seitenleistenbereich für ein RSS-Feed-Widget hinzugefügt habe. Ich möchte Zusammenfassungen der letzten zwei oder drei Blog-Beiträge auf der Startseite anzeigen, habe jedoch Probleme, wenn das RSS-Widget nicht aktualisiert wird.

Beispielsweise ähnelt das RSS-Feld im Einrichtungsfeld für RSS-Widgets "http://exampleblog.com/feed/". Der RSS-Feed wird bei der ersten Aktualisierung nach der Aktivierung des Widgets veröffentlicht, jedoch nicht mit nachfolgenden neueren Beiträgen. Es wird nicht mit neuen Beiträgen aktualisiert.

Eine der Fragen auf dieser Website führte zu einem ähnlichen Problem wie das Zwischenspeichern, und ich verwende WP Cache auf dem Webserver. Deaktivieren von WP Cache hilft nicht.

Ich habe das Gefühl, ich vermisse ein einfaches Verfahren, finde aber keine Erwähnung im Codex oder auf dieser Seite.

1
bbeeman

Es ist besser, eine Abfrageschleife zu verwenden, um Posts anzuzeigen. Dies ist eine modifizierte Version der WP -Hauptschleife. Diese Abfrageschleife stört die Hauptschleife WP nicht und kann mehrmals in einer Seitenleiste oder einem Beitrag/einer Seite mit aktivierter PHP-Ausführung verwendet werden. Verwenden Sie ein PHP-Widget in Ihrer Seitenleiste: WordPress ›PHP Code Widget" WordPress-Plugins

Ändern Sie mycategory in den Namen einer Kategorie oder entfernen Sie, um alle anzuzeigen. Ändern Sie außerdem die Anzahl der gewünschten Beiträge in "showposts" oder "-1", um alle anzuzeigen. Sie müssen die Ausgabe CSS-formatieren.

<?php $my_query = new WP_Query('category_name=mycategory&showposts=1'); ?>

<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>

<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>">

<?php the_title(); ?></a>

<?php the_excerpt(); ?>

<?php endwhile; ?>

Siehe auch Die Schleife "WordPress-Codex und Funktionsreferenz/WP-Abfrage" WordPress-Codex

2
markratledge

Der Grund, warum es nicht aktualisiert wird, ist, dass fetch_feed() - Funktion ein eigenes transientes - basiertes Caching hat, das standardmäßig 12 Stunden beträgt.

Sie können den Wert für die Cache-Lebensdauer (global oder für eine bestimmte Feed-URL) unter wp_feed_cache_transient_lifetime filter filtern, aber für eigenen Inhalt ist es in der Tat besser, direkt auf Daten zuzugreifen, als RSS zu verwenden.

Wenn Sie dies nicht selbst codieren möchten, versuchen Sie es mit dem Plugin Query Posts .

0
Rarst