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!"

Kommentar schreiben

Kommentarregeln: Bleib cool, kritisch ist in Ordnung, aber wenn du unhöflich bist, dann lösche ich deinen Kommentar. Bitte benutze deinen persönlichen Namen oder Initialen und nicht den Namen eines Unternehmens, dies würde als Spam gewertet und wird gelöscht. Der Zusammenhang zwischen Namen und URL sollte nicht offensichtlich auf Spam hindeuten! ♥ Ansonsten, vielen Dank für den Kommentar und viel Spaß mit meinem Blog.

E-Mail-Benachrichtigung bei weiteren Kommentaren.
Auch möglich: Abo ohne Kommentar.

Kommentar-Hilfe

händischer Spam:
Beachte die Kommentarregeln, jede Form von versuchtem Spam wird gelöscht. Warum und wieso steht in einem meiner Beiträge.

Bezug auf Textstellen:
Du kannst direkt bezug auf Textstellen im Beitrag nehmen. Dazu muss lediglich der Bereich im Artikel markiert werden; daraufhin erscheint ein Button, der den markierten Text in das Kommentarfeld übernimmt und als Zitat auszeichnet. Die Funktion ist nur bei aktivem JavaScript nutzbar.

xHTML:
Du kannst folgende Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <blockquote cite=""> <code> <pre> <em> <strong> <strike> <ul> <ul> <li>

Achte darauf, wenn du Code im Kommentar hinterlegen willst, dann muss der Code maskiert sein. Dann wird er nicht interpretiert. Der Code muss mit Hilfe von HTML-Entities dargestellt werden, d.h. dass man z.B. < als &lt; und > als &gt; einfügt.

E-Mail-Benachrichtigung bei neuen Kommentaren ?
Wenn der Haken in der Checkbox gesetzt ist, dann wirst du über neue Kommentare vie E-Mail informiert. Der Versand erfolgt nur, wenn du die URL in der Bestätigungs-E-Mail genutzt hast oder schon Abonnent hier im Blog bist.

Kommentar erscheint nicht:
Alle Kommentare werden manuell geprüft, freigegeben und nach Möglichkeit beantwortet. Bitte um etwas Geduld und Nachsicht.

Identifikationsbilder (Avatare):
Auf Gravatar.com kann man sich mit seiner E-Mail-Adresse registrieren und ein Bild hochladen, dann erscheint dieses Gravatar hier und in vielen weiteren Blogs.

Spamschutz:
Das Kommentarformular ist mit einem Spamschutz ausgerüstet. Solltest du diesen Artikel ohne JavaScript besuchen und kommentieren wollen, so muss du die Frage beantworten und das jeweilige Wort in das Textfeld eingeben.