kulturbanause Blog

Responsive Design, WordPress, Konzeption, HTML, CSS, JS & UX/UI …

WordPress Post-Thumbnails aus RSS-Feed auslesen. preg_match und Regular Expressions

Ab und zu möchte man den RSS-Feed seines WordPress Blogs auf einer anderen Seite einbinden, um dort beispielsweise die neuesten fünf Beiträge zu bewerben. Der RSS-Feed ist schnell ausgelesen, ein Problem sind häufig die Post-Thumbnails der Artikel.
Die Artikelbilder werden von WordPress nicht in den Feed übertragen. Um die Post-Thumbnails dennoch im Feed anzuzeigen, wird häufig in der functions.php ein Snippet eingefügt das die Bilder in den Inhaltsbereich des Feeds lädt. Da sich die Bilder dann allerdings zusammen mit dem Text und anderen Bildern in einem Feed-Element befinden, ist schwierig sie gezielt auszulesen.

Workshops und Seminare von kulturbanause

Visual Prototyping, Responsive Design, CSS Grid & Flexbox, WordPress, Adobe XD, HTML & CSS Grundlagen, Website-Optimierung …

Jetzt Frühbucher-Rabatte sichern!

Element mit PHP preg_match identifizieren

Das Artikelbild wird im Feed als img direkt vor dem eigentlichen Inhalt des Beitrags eingebunden. Semantisch betrachtet befindet es sich aber ebenso wie der Beitrag selbst innerhalb des Elements "<description>". Mit preg_match lasst sich das Artikelbild über die Dateiendung identifizieren und in einem Array speichern. Anschließend zeigen wir immer nur das erste Bild des Array.

Alles was ihr benötigt, ist eine Variabel bzw. ein Array in der ihr den Feed-Inhalt (description) verfügbar habt. Sollte das nicht der Fall sein, schaut euch bitte noch einmal diesen Artikel an: RSS-Feed von WordPress auslesen.

Im folgenden Beispiel-Code wird $quelle nach Bildern durchsucht, und diese der Reihe nach in $ziel abgespeichert.


preg_match("/src=[\"\']?([^\"\']?.*\.(png|jpg|gif))[\"\']?/i", $quelle, $ziel); // Bilder werden aus $quelle ausgelesen und in $ziel gespeichert.

Anschließend könnt ihr mit folgendem Code das erste Elemente des Array auslesen und in einem img-Tag einbinden.


 height="100" width="100" alt=""/>

Mit diesem "regulären Ausdruck" ist es möglich die Post-Thumbnails von WordPress aus dem Feed zu extrahieren und in Kombination mit anderen ausgelesenen Feed-Elementen auf einer externen Website darzustellen.

Jetzt bist du gefragt!

Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freuen wir uns auf deinen Kommentar.

Du kannst diesen Beitrag natürlich auch weiterempfehlen. Wir sind dir für jede Unterstützung dankbar!

Unterstützung bei WordPress-Projekten

Unsere WordPress Agentur ist auf die Entwicklung maßgeschneiderter WordPress-Themes und -Websites spezialisiert. Wenn du Unterstützung bei der Planung, Gestaltung und Entwicklung eines Projekts benötigst, helfen wir gerne weiter.
WordPress-Leistungsangebot →

Das könnte dich auch interessieren

3 Kommentare

  1. Robert Tusch

    Verfasst am 15. Januar 2012 um 19:46 Uhr.

    Hey,
    Schöner Artikel, aber bei mir ist das Bild nicht in Desciption drin. Ich benutze MagpieRSS und kann das Bild nicht Auslesen.
    Hat jemand eine Ahnung?
    Gruß
    Robert

  2. Stefan

    Verfasst am 24. Januar 2012 um 22:31 Uhr.

    Hallo,

    mit dem plugin RSS image feed werden dem Feed Bilder zugefügt. Ob die jetzt mit MagpieRSS oder mit dem RSS Widget dargestellt werden können, weiß ich leider nicht.

    Grüße,
    Stefan

  3. Jonathan

    Verfasst am 25. April 2012 um 13:23 Uhr.

    Danke Jonas!

    Szenario:
    Eine Website, auf der in den Usereinstellungen oder über Custom Fields, User ihre Feed-URL oder Website-URL angeben können. Auf einer Seite sollen daraufhin alle aktuellen Artikel, welche durch den Feed generiert werden, ähnlich wie aus Facebook und Google+ bekannt, in einer Timeline auf einer Seite erscheinen.

    Besucht also ein Gast/User z.B. die URL meinesite.de/timeline, sieht dieser alle aktuellen Artikel der Websites von den Usern, welche sich mit Ihrer Feed-URL auf der Website eingetragen haben.

    Weißt du was ich meine? Jonas, hast du da Ansätze?

    Lieben Gruß,
    Jonathan

    PS: Eine Checkbox für „Benachrichtige mich über nachfolgende Kommentare per E-Mail.“ Wäre praktisch. Oft vergesse ich in meinem Informationsdurst, dass ich Kommentare hier- oder da geschrieben habe.

Kommentar verfassen

Dieser Blog lebt vom Feedback der Besucher! Also los, mach mit!
Bitte habe Verständnis dafür, dass Kommentare die mit dem Inhalt dieses Beitrags nichts zu tun haben, gelöscht werden.