Benutzerdefinierte Felder in den RSS Feed einbinden

Die Zeiten ändern sich.

Dieser Beitrag scheint älter als 14 Jahre zu sein – eine lange Zeit im Internet. Der Inhalt ist vielleicht veraltet.

WP Adventskalender 03
Da ich im eigenen WordPress Theme sehr häufig mit benutzerdefinierten Feldern arbeite und die verschiedensten Funktionen im Theme einbinde, ist ein Beispiel aufgefallen, welches ich ausgiebig nutze. Ich befülle meinen Feed ausschließlich mit Inhalten aus den benutzerdefinierten Feldern.
Zum Beispiel ein kleiner Zusatztext (Thumbnails, Hinweise, Links usw.):


// Feedmonkey - WP Funktion welche den RSS Feed zum Beitrag ergänzt***
function feed_monkey( $content ) {
    global $post, $id;

    if ( !is_feed() )
        return $content;

    // Auslesen/Prüfung des Benutzerdefinierten Feldes mit dem Namen Anhang ***
    $anhang = get_post_meta( $post->ID, 'Anhang', $single = true );

    // Print custom fields ***
    if ( $anhang != '' )
        return __('Zusatzinformation: ') . $anhang;
}

add_filter( 'the_content', 'feed_monkey' );

So funktioniert es bei mir mit einer ganzen Reihe von benutzerdefinierten Feldern. Mit dieser Lösung werden nur die Inhalte der benutzerdefinierten Felder in den Feed übernommen, nicht der Inhalt des eigentlichen Content; sehr nützlich bei Photoblogs.
Um den Inhalt der benutzerdefinierten Felder an den Content anzuhängen, muss die Variable $content mit ausgegeben werden:


    // Print custom fields and Content
    if ( $anhang != '' )
        return $content . '<br />' . __('Zusatzinformation: ') . "{$anhang}" ;

Gastbeitrag

Dieser Beitrag ist aus der Feder von Matthias Steiger – mynicki.net und ist ein Beitrag zum Adventskalender auf bueltge.de zum Thema WordPress.
Vielen Dank auch hier nochmal von meiner Seite an Matthias (Nicki).

Von Frank Bültge

bueltge.de [by:ltge.de] wird von Frank Bültge geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.