Beitragsbilder im WordPress RSS-Feed einbinden
Als ich heute meinen RSS-Feed angeschaut habe ist mir aufgefallen, dass die Beitragsbilder in den Artikeln nicht im Feed angezeigt werden. Da ich einige Blogartikel nur mit einem Beitragsbild und keinen zusätzlichen Bildern versehe, tauchen diese Artikel im Feedreader nur als Text auf. Kein schönes Verhalten, denn das Auge liest schließlich mit.
Kurzerhand habe ich mich auf die Suche nach einer Lösung gemacht. Neben einigen Plugins bin ich auch auf einen kleinen Codeschnipsel gestoßen, der in die “functions.php” des verwendeten Themes kopiert werden muss. Dadurch werden fortan alle Beitragsbilder automatisch im RSS-Feed ausgegeben.
//Beitragsbilder im RSS-Feed ausgeben
function post_thumbnail_in_rss($content)
{
global $post;
// Überprüfen, ob Artikel ein Beitragsbild hat
if (has_post_thumbnail($post->ID))
{
$content = get_the_post_thumbnail($post->ID, 'full', array('style' => 'margin-bottom:10px;')) . $content;
}
return $content;
}
//Filter für RSS-Auszug
add_filter('the_excerpt_rss', 'post_thumbnail_in_rss');
//Filter für RSS-Content
add_filter('the_content_feed', 'post_thumbnail_in_rss');
Das wars auch schon. Der hier gezeigte Code fügt das Beitragsbild im RSS-Feed vor dem Artikeltext ein. Bei Bedarf kann Zeile 8 angepasst werden. Beispielsweise lässt sich das Beitragsbild in voller Größe (“full“), in mittlerer Größe (“medium“) oder nur als Thumbnail ausgeben (“thumbnail“). Ebenso ist es möglich das Bild mit diversen CSS-Eigenschaften zu versehen oder es nach dem Artikeltext auszugeben.
Sie sehen gerade einen Platzhalterinhalt von X. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr Informationen
Tobi … du hast mir gerade jede Menge weitere Sucherei erspart. Danke für den Super-Tipp mit deinem Codeschnipsel … Habe das gleich in meinen “Stundenzeiger” eingebaut …
Viele Grüße vom Bodensee
Jörg
Hi Tobi,
danke für die Info. Trotzdem würde ich mich etwas besser dabei fühlen, wenn das ein Plugin macht. Dann müsste ich nicht selber im Code herumspielen und wüsste, dass bei einem WP-Update auch das Plugin weiterhin läuft und ich nicht irgendwelche Änderungen im Code verworfen werden.
–> Hattest du denn auch ein Plugin gefunden, welches diese Funktion gut erledigt?
Thx,
Johannes
Nur das Plugin “Add featured image to RSS feed”, aber dieses wurde schon lange nicht mehr aktualisiert.
Ich sehe das komplett anders wie du. Genau für solche kleine Änderungen ist die Datei “functions.php” gedacht. Die Entwickler legen viel Wert darauf, dass bei Änderungen trotzdem eine Abwärtskompatibilität bestehen bleibt. Daher ist der Filter auch in zukünftigen Versionen ohne Probleme einsetzbar, was ich bei Plugins nicht behaupten kann. Außerdem schlucken Plugins mehr Performance.
Hm, gut, du hast mich überzeugt. Ich habe deinen Codeschnipsel erfolgreich bei mir eingebunden. ;)
Sieht gut aus :)
Ich hatte übrigens leider genau den Fall, dass mir nach dem letzten WP Update (inkl. Theme Update) der Codeschnipsel abhanden gekommen ist. Habe ich aber erst vor kurzem bemerkt, dass heißt, eine ganze Weile war kein Bild mit drin.
Ich habe jetzt das Plugin “Featured Images in RSS w/ Size and Position” installiert und gucke mal, wie es sich so verhält. Zunächst macht es schon mal genau das, was es soll. ;)
Vermutlich verwendest du kein Child-Theme und deswegen wurden deine Änderungen in der “functions.php” beim Theme-Update überschrieben..
Danke für den Tipp. Wieder eine Baustelle weniger!
Ich finde es immer toll, wenn ein paar Zeilen Quellcode ein Plugin ersetzen :-) Habe deinen Beitrag gleich mal als Tipp bei mir in der Ideenlounge verlinkt.
Viele Grüße
Mirjam
Danke für die Verlinkung und freut mich, dass ich dir helfen konnte :)
Sehr klasse, bin über Mirjams Ideenlounge.de hier gelandet. Das in den Kommentaren genannte Plugin hatte bei mir nicht mehr funktioniert, aber jetzt versuche ich mich mal an deinem Snippet.
Übrigens @all: für solche Code-Snippets, die in die functions.php des Themes gehören, eignet sich hervorragend das Plugin https://wordpress.org/plugins/code-snippets/ – egal welches Theme man verwendet oder auch wenn man später mal wechseln will, die Snippets innerhalb des Plugins bleiben einem und lassen sich nach Belieben de- und wieder aktivieren.
Funktioniert! Vielen Dank, das hat mir sehr geholfen. Besonders schön, dass wir uns nicht auf eine Plugin-Lösung verlassen müssen.
Hi Tobi! Eigentlich hatte ich nach einem Plugin gesucht, aber jedes Plugin saugt Performance. Und da ich seit geraumer Zeit mit Child Themes arbeite, ist der von dir vorgestellte Direkteinbau in die functions.php perfekt für mich. Vielen Dank dafür! Hab’s gerade auch in Englisch auf der zeropage zusammengefasst (und natürlich zu deinem Beitrag als Quelle verlinkt). Beste Grüße, Axel
Vielen Dank :)