PehBehBeh

Erfahrungen eines Hobby-Webentwicklers

WordPress: Thumbnails im RSS-Feed anzeigen

| 8 Kommentare

Ich schrieb bereits einen ausführlichen Artikel über Thumbnails in WordPress 2.9. Seit ein paar Tagen benutze ich diese auch hier im Blog. Heute habe ich mir zur Aufgabe gemacht, dass die Thumbnails auch in meinem Feed angezeigt werden. Dazu ist mal wieder ein simpler Content-Filter notwendig.


Der Filter

Zunächst der Filter:

1
2
3
4
5
6
7
function my_feed_thumbnail($content) {
    if (is_feed() && has_post_thumbnail()) {
        return the_post_thumbnail() . $content;
    }
    return $content;
}
add_filter('the_content', 'my_feed_thumbnail');

Hier wird überprüft, ob wir uns im RSS-Feed befinden. Falls dies der Fall ist und zusätzlich noch ein Thumbnail gesetzt wurde, wird der Thumbnail an den Anfang des Contents gehängt. Fertig.

Design anpassen

Letztens kam eine Frage in den Kommentaren auf, wie man denn den Thumbnail links neben dem Text positionieren kann. Ganz einfach: mit CSS. Jeder Thumbnail hat die CSS-Klasse attachment-post-thumbnail. Im Blog lässt sich das also ganz einfach über die style.css-Datei eures Themes anpassen.

Der folgende Teil des Artikels ist veraltet.
Mittlerweile habe ich eine bessere Anleitung veröffentlicht, in der beschreiben wird, wie man den WordPress RSS-Feed mit CSS verschönern » kann.

Im Feed müssen CSS-Regeln jedoch in jeden Artikel eingepflegt werden. Man könnte diese jetzt noch zum letzten Filter hinzufügen. Ich habe mir jedoch einen eigenen Filter für CSS-Regeln im Feed erstellt. So habe ich die Möglichkeit, in Zukunft alles an einem Platz einzufügen, wenn ich noch weitere Dinge im Feed anpassen möchte.

Hier nochmal mein derzeitiger CSS-Filter für den Feed:

1
2
3
4
5
6
7
8
9
10
11
12
function my_feed_css($content) {
    if (is_feed()) {
        $css  = '<style>';
        $css .= '.attachment-post-thumbnail { float: left; padding: 6px; margin: 0 6px 6px 0; border: 6px solid #eee; }';
        $css .= '.more { clear: both; }';
        $css .= '</style>';
 
        return $css . $content;
    }
    return $content;
}
add_filter('the_content', 'my_feed_css');

Wie man sieht, habe ich noch eine zweite Regel für meinen ersetzten more-Tag (horizontale Linie), den ich so anpassen musste, dass die Linie nicht neben meinem Thumbnail beginnt, sondern erst darunter.

Das Ergebnis könnt ihr euch anschauen, wenn ihr meinen Feed abonniert. 😉

Dir hat der Artikel gefallen?
Dann abonniere doch den RSS-Feed!