Sidebar
ein-/ausblenden

Benutzerdefinierte Felder in den RSS Feed einbinden

Plugin für WordPress SEO

Anzeige

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).

5 Kommentare zu „Benutzerdefinierte Felder in den RSS Feed einbinden“

  1. 1
    Kommentar von Daniel

    Cool danke. Hab ich mir mal gebooket. Werd ich sicher mal brauchen können.

    Für was braucht es $blog_key? Wo wird der Schlüssel verwendet?

  2. 2
    Kommentar von Frank Bültge

    @Daniel: Die Variable jat hier keinen Wert, ist eher für das Ablegen eines Schlüssels; habe es auch gleich entfernt. Musste mir nur erstmal den Code anschauen.

  3. 3
    Kommentar von erz

    Ich erinnere mich gerade an einen älteren Artikel von Frank, indem er sich mehr Dankbarkeit für Coder wünscht. Dank seines Hinweises (und der Arbeit von Matthias Steiger) habe ich endlich den Hintern hoch bekommen und meinen Feed modifiziert. Dafür schon mal Danke!

    Dem obigen Codebeispiel habe ich allerdings noch weitere Anwendungsmöglichkeiten spendiert. Insbesondere erlaubt es eine kleine Modifikation, den Content des RSS-Feeds vom Content der Seite zu unterscheiden und beispielsweise eine kurze Copyrightnotiz hinzuzufügen, mit der mein Fullfeed auf fremden Seiten wenigstens einen Link zu meiner Seite enthält. Werbung nur im RSS-Feed sollte außerdem dank dieses Codeschnipsels für die function.php möglich sein.

    Ich würde meinen bescheidenen Beitrag hier gerne als kleines Dankeschön posten und auch mal was zurückgeben, aber wenn ich auf "code" im Kommentarfenster klicke, wird mein code trotzdem als html interpretiert und es kommt nur Kokolores raus.

  4. 4
    Kommentar von Frank Bültge

    @erz: du musst den Code maskieren, dann klappt es. also kein < sondern ein &lt;
    Ansonsten danke für das Lob; diverse Ansätze von dir habe ich bspw. im ©Feed Plugin untergebracht, so dass auch Nichtcodern ein wenig leichter fällt.

  5. 5
    Kommentar von erz

    War ja klar, dass du wieder schneller warst. Nachdem ich mir dein Plugin gerade angesehen habe, könnt ich mich schon wieder ärgern, dass ich nicht einfach vorher bei dir gesucht habe. Codebeispiel brauchts dann auch nicht mehr, das Grundprinzip von is_feed und Filtern hast du ja auch gleich umfassend veranschaulicht.

    "Simpsons did it!"

Kommentare sind geschlossen.