WordPress: RSS-Feeds von Custom Post Types zum Haupt-Feed hinzufügen
Standard-Feed von WordPress beinhaltet keine Custom Post Types. Die gewünschten Inhalte können unkompliziert mit einem Hook und einer Funktion ergänzt werden.
Custom Post Types werden standardmäßig weder im Loop noch im WordPress-Feed nicht ausgegeben. Das ist ärgerlich, da Custom Post Types in WordPress sehr häufig verwendet werden und viele Blog-Betreiber einen zentralen Feed mit allen Inhalten der Website bereitstellen möchten. Mit einem kleinen Snippet kann das Problem jedoch behoben werden und die Custom Post Types werden dem Haupt-Feed von WordPress hinzugefügt.
Funktion via Hook hinzufügen
Um den Haupt-Feed von WordPress um Custom Post Types zu ergänzen, kann folgendes Snippet verwendet werden. Es gibt zwei Möglichkeiten das Snippet eurer WordPress-Seite hinzuzufügen. Eine Möglichkeit ist es, das Snippet in die functions.php
zu schreiben. Die zweite Möglichkeit besteht darin ein seitenspezifisches Plugin zu erstellen und das Snippet darin auszulagern.
Der Code verwendet die add_filter
-Funktion, um die kb_add_cpt_to_main_feed
-Funktion an den WordPress-Hook request
zu binden. Diese Funktion nimmt ein Array ($kb_ctp_feed
) als Parameter und fügt benutzerdefinierte Beitragstypen zum Haupt-Feed hinzu, wenn sie nicht bereits vorhanden sind.
// Custom Post Types zum Haupt-Feed hinzufügen
function kb_add_cpt_to_main_feed($kb_ctp_feed) {
if (isset($kb_ctp_feed['feed']) && !isset($kb_ctp_feed['post_type']))
$kb_ctp_feed['post_type'] = array('XXXXXX'); // Hier die Custom Post Types eintragen
return $kb_ctp_feed;
}
add_filter('request', 'kb_add_cpt_to_main_feed');
Gewünschten Post Type anpassen
Nachdem ihr das Snippet eingefügt habt, müsst ihr noch den Custom Post Type angeben. Tragt dazu anstelle der Passage »XXXXXX« den Namen eures Custom Post Types ein. Anschließend werden eure Custom Post Types dem Haupt-Feed von WordPress hinzugefügt und mit ausgegeben.
Solltet ihr keine direkte Änderung im Feed wahrnehmen können, veröffentlicht einen neuen Artikel. Insbesondere wenn ihr bestimmte Custom Post Types wieder aus dem RSS-Feed entfernen möchtet, kann der Feed so resettet werden.
RSS-Feed-Adressen von WordPress
WordPress generiert standardmäßig Feeds zu allen Arten von Inhalten und vergibt dafür Standard-Feed-URLs. Hier findet Ihr die wichtigsten Feed-Adressen am Beispiel unserer Blogs.
- Haupt-Feed:
- blog.kulturbanause.de/feed
- Kategorien (»Artikel« ist die Kategorie):
- blog.kulturbanause.de/category/artikel/feed
- Schlagworte (»WordPress« ist das Schlagwort):
- blog.kulturbanause.de/tag/wordpress/feed
- Autoren (»Jonas« ist der Autor):
- blog.kulturbanause.de/author/jonas/feed
- Kommentare:
- blog.kulturbanause.de/comments/feed
- Custom Post Types (»Lexikon« ist der Custom Post Type):
- blog.kulturbanause.de/feed/?post_type=lexikon
- Taxonomien (»Field of Application« ist die Taxonomie, »WordPress« der Wert):
- http://best-web-design-tools.com/feed/?field_of_application=wordpress
Eine sehr gute Anleitung die bei mir sofot funktioniert hat. Auch der Beitrag zu „Bilder auf eine Subdomain auslagern“ hat bestens funktioniert. Vielen Dank
Guten Morgen, sehr interessanter Blogeintrag , da werde ich mal öfter vorbei schauen :)
Ich habe das ganze bisher immer etwas anders gelöst.
https://gist.github.com/anonymous/ec781d6357c83202d4b9