Vor einigen Monaten hatte ich beschrieben, wie man in WordPress eine statische Seite mit Lesetipps ohne Plugins mithilfe des kostenlosen Google Reader realisieren kann. Leider hat Google am 31. Oktober seinen Reader nicht nur optisch aufgefrischt, sondern auch gleichzeitig die bisherige Empfehlungsfunktion zugunsten einer Integration der Social Community Google+ und des +1-Buttons entfernt. Im Moment bestehen die alten Empfehlungsseiten, auf die die damals beschriebene Methode zugriff, zwar noch, jedoch lassen sich keine neuen Empfehlungen mehr zu diesen hinzufügen.
Einen neuen Weg, die bewährten Lesetipps auch weiterhin zu realisieren, habe ich im bereits mehrfach beschriebenen und empfohlenen Online-Tool Instapaper gefunden. Da ohnehin fast alle Artikel, die ich empfehle, Instapaper durchlaufen, bot es sich ohnehin an, diesen Bookmarking- und Leseservice dazu zu nutzen. Instapaper liefert für jedes standardmäßig vorhandene oder individuell erstellte Verzeichnis einen RSS-Feed, der mit einem Link rechts in der Fußzeile jeder Seitenansicht einfach abgerufen werden kann.
Für das Anlegen eines Empfehlungs-Verzeichnisses bestehen zwei Möglichkeiten: Entweder man erstellt in der rechten Spalte einfach ein neues Verzeichnis, oder man nutzt die Like-Funktion des Systems und greift dann einfach den Feed unter http://www.instapaper.com/liked im eigenen Instapaper-Account ab. Ich habe mich für eine Kombination beider Methoden entschieden: Da ich die Like-Funktion bisher nicht genutzt hatte, bot sich ihre Verwendung an. Überdies habe ich aber ein Verzeichnis angelegt, in das ich die geliketen und damit empfohlenen Artikel verschiebe, um die Übersicht zu bewahren.
Wie integriert man aber den nun vorhandenen RSS-Feed in eine statische WordPress-Seite? Natürlich werden dafür eine ganze Reihe von Services und Plugins an. Legt man jedoch Wert auf eine ballastarme und damit betriebssichere WordPress-Installation, dann lässt sich dies jedoch auch mit etwas simplem PHP-Code realisieren. Dazu habe ich das Seiten-Template (page.php) dupliziert und die Kopie lesetipps.php genannt. In diese habe ich im Content-Bereich die folgende Passage eingebaut:
<ul>
<?php
$url = 'http://www.instapaper.com/starred/rss/[…]';
require_once(ABSPATH.'/wp-includes/rss.php');
$rss = fetch_rss($url);
if ( $rss ) {
$rss->items = array_slice($rss->items, 0, 25);
foreach ($rss->items as $item ) {
echo "<li>\n";
echo "<a href='$item[link]' title='$item[description]'>";
echo $item['title'];
echo "</a><br />\n";
echo "</li>\n";
}
}
?>
</ul>
Wählt man nun für die statische Lesetipps-Seite unter Attribute das Template lesetipps.php aus, dann werden auf der Seite die von Instapaper per Feed gelieferten Artikel als Liste angezeigt und zum Originalartikel verlinkt. Freilich muss die URL im Codeschnipsel durch die von Instapaper individuell gelieferte Verzeichnisadresse ersetzt werden. Ebenso kann die Zahl der angezeigten Artikel – im gezeigten Beispiel sind es 25 – individuell eingestellt werden. Weiteren Basteleien sind natürlich keine Grenzen gesetzt.
Im Gegensatz zur ehemaligen Funktion im Google Reader werden RSS-Feeds bei Instapaper jedoch in etwas größeren Zeitabständen aktualisiert. Es kann also etwas dauern, bis ein in Instapaper geliketer Artikel auf der eigenen WordPress-Seite in der Liste auftaucht – nach meinen ersten Erfahrungen bis zu circa einer halben Stunde.
Viel Spaß beim Nachbauen! Und für Verbesserungsvorschläge bin ich natürlich immer dankbar.
2 Pingbacks